FInished create Airlines that utilise Airport Graph

main
YaFedImYaEatIm 9 years ago
parent a21b14ad34
commit 98934beca1

@ -12,6 +12,7 @@ import seng202.group9.Controller.SceneCode;
import seng202.group9.Controller.Session;
import seng202.group9.Core.Airline;
import seng202.group9.Core.Airport;
import seng202.group9.Core.Route;
import java.util.ArrayList;
import java.util.Arrays;
@ -71,6 +72,7 @@ public class AirportGraphController extends Controller{
loadCountryGraph();
loadDestGraph();
loadTransGraph();
loadAirlineGraph();
}
public void loadCountryGraph(){
@ -169,6 +171,56 @@ public class AirportGraphController extends Controller{
transGraph.getData().add(series);
}
public void loadAirlineGraph(){
airlineGraph.setTitle("Top 10 Airlines Flown to Airports");
airlineXAxis.setLabel("Airline");
XYChart.Series<String,Integer> series = new XYChart.Series<>();
series.setName("Number of Time Flown");
HashMap<String, Integer> airlines = new HashMap<>();
for (Airport airport: airportsFiltered){
for (Route route: airport.getArrivalRoutes()){
if (route.getAirline() != null) {
if (airlines.containsKey(route.getAirline().getName())) {
airlines.put(route.getAirline().getName(), airlines.get(route.getAirline().getName()) + 1);
} else {
airlines.put(route.getAirline().getName(), 1);
}
}
}
for (Route route: airport.getDepartureRoutes()){
if (route.getAirline() != null) {
if (airlines.containsKey(route.getAirline().getName())) {
airlines.put(route.getAirline().getName(), airlines.get(route.getAirline().getName()) + 1);
} else {
airlines.put(route.getAirline().getName(), 1);
}
}
}
}
int length = 10;
if (airlines.size() < 10){
length = airlines.size();
}
for (int i = 0 ; i < length; i ++) {
int max = 0;
String maxAirline = "";
for (String airline: airlines.keySet()){
if (airlines.get(airline) > max){
max = airlines.get(airline);
maxAirline = airline;
}
}
series.getData().add(new XYChart.Data<String, Integer>(maxAirline, max));
airlines.remove(maxAirline);
}
airlineGraph.getData().add(series);
}
public void goToRawData(){
replaceSceneContent(SceneCode.AIRPORT_RAW_DATA);
}

Loading…
Cancel
Save