diff --git a/src/main/java/seng202/group9/Controller/SceneCode.java b/src/main/java/seng202/group9/Controller/SceneCode.java index 6cc916b..0102cf0 100644 --- a/src/main/java/seng202/group9/Controller/SceneCode.java +++ b/src/main/java/seng202/group9/Controller/SceneCode.java @@ -7,7 +7,7 @@ public enum SceneCode { INITIAL(""), AIRLINE_SUMMARY("airline_summary.fxml"), AIRLINE_RAW_DATA("airline_raw_data.fxml"), AIRPORT_SUMMARY("airport_summary.fxml"), AIRPORT_RAW_DATA("airport_raw_data.fxml"), ROUTE_SUMMARY("routes_summary.fxml"), ROUTE_RAW_DATA("route_raw_data.fxml"), FLIGHT_SUMMARY("flight_data_summary.fxml"), - FLIGHT_RAW_DATA("flight_raw_data.fxml"), ROUTE_ANALYSER("route_analyser.fxml"); + FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml");; private String filePath; diff --git a/src/main/java/seng202/group9/GUI/AirportAnalyser.java b/src/main/java/seng202/group9/GUI/AirportAnalyser.java new file mode 100644 index 0000000..48caef6 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/AirportAnalyser.java @@ -0,0 +1,59 @@ +package seng202.group9.GUI; + +import javafx.fxml.FXML; +import javafx.scene.chart.BarChart; +import javafx.scene.chart.PieChart; +import javafx.scene.chart.XYChart; +import seng202.group9.Controller.App; +import seng202.group9.Controller.Dataset; +import seng202.group9.Core.Airline; +import java.util.ArrayList; +import java.util.HashMap; +import javafx.application.Application; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.scene.chart.*; +import javafx.scene.Group; + +/** + * Created by michael on 17/09/2016. + */ +public class AirportAnalyser extends Controller { + @FXML + PieChart pieGraph; + + private Dataset currentdata = null; + private HashMap useddata = new HashMap(); + + private ArrayList current_routes; + public void build_graph(){ + current_routes = currentdata.getAirlines(); + datasetup(current_routes); + ObservableList pieChartData = FXCollections.observableArrayList(); + System.out.println(useddata.keySet().size()); + for (String airport : useddata.keySet()){ + Integer temp = useddata.get(airport); + pieChartData.add(new PieChart.Data(airport,temp)); + } + pieGraph.setData(pieChartData); + } + + private void datasetup(ArrayList current_routes){ + for (Airline entry : current_routes){ + String name = entry.getCountryName(); + if (useddata.containsKey(name)){ + int temp = useddata.get(name); + useddata.replace(name,temp+1); + }else { + Integer temp = 1; + useddata.put(name,temp); + } + } + } + + public void load() { + currentdata = getParent().getCurrentDataset(); + build_graph(); + } + +} diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index 208550c..802ce4f 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -14,6 +14,7 @@ import javafx.scene.control.cell.PropertyValueFactory; import javafx.util.Callback; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; +import seng202.group9.Controller.SceneCode; import seng202.group9.Core.Airport; import seng202.group9.Core.City; import seng202.group9.Core.Country; @@ -146,5 +147,7 @@ public class AirportRDController extends Controller{ alert.showAndWait(); } } - + public void airportAnalyserButton(){ + replaceSceneContent(SceneCode.AIRPORT_ANALYSER); + } } diff --git a/src/main/java/seng202/group9/GUI/RouteAnalyser.java b/src/main/java/seng202/group9/GUI/RouteAnalyser.java index 4c8e7be..a2e12a2 100644 --- a/src/main/java/seng202/group9/GUI/RouteAnalyser.java +++ b/src/main/java/seng202/group9/GUI/RouteAnalyser.java @@ -1,23 +1,15 @@ package seng202.group9.GUI; -import javafx.collections.FXCollections; + import javafx.fxml.FXML; import javafx.scene.chart.BarChart; -import javafx.scene.chart.CategoryAxis; -import javafx.scene.chart.NumberAxis; import javafx.scene.chart.XYChart; -import javafx.scene.control.Alert; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.TextField; -import javafx.scene.control.cell.PropertyValueFactory; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; import seng202.group9.Core.Route; - import java.util.ArrayList; import java.util.HashMap; -import java.util.List; + /** * Created by michael on 16/09/2016. diff --git a/src/main/resources/airport_analyser.fxml b/src/main/resources/airport_analyser.fxml new file mode 100644 index 0000000..925ff82 --- /dev/null +++ b/src/main/resources/airport_analyser.fxml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/airport_raw_data.fxml b/src/main/resources/airport_raw_data.fxml index 7db236d..80c03b0 100644 --- a/src/main/resources/airport_raw_data.fxml +++ b/src/main/resources/airport_raw_data.fxml @@ -14,7 +14,7 @@ - + @@ -91,7 +91,7 @@ -