From 92c5cf9c8b43dcb2860b9489e6ff671c4e3a96e4 Mon Sep 17 00:00:00 2001 From: Michael Wilson Date: Fri, 16 Sep 2016 13:28:52 +1200 Subject: [PATCH 1/2] First graph displays it's data as desired. --- .../seng202/group9/GUI/RouteAnalyser.java | 80 +++++++++++++++++++ .../seng202/group9/GUI/RouteRDController.java | 11 +++ src/main/resources/route_analyser.fxml | 45 +++++++++++ src/main/resources/route_raw_data.fxml | 4 +- 4 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 src/main/java/seng202/group9/GUI/RouteAnalyser.java create mode 100644 src/main/resources/route_analyser.fxml diff --git a/src/main/java/seng202/group9/GUI/RouteAnalyser.java b/src/main/java/seng202/group9/GUI/RouteAnalyser.java new file mode 100644 index 0000000..6debc39 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/RouteAnalyser.java @@ -0,0 +1,80 @@ +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. + */ +public class RouteAnalyser extends MenuController { + @FXML + private BarChart analyserGraph; + + App parent; + private ArrayList current_routes; + + public void setApp(App parent){ + this.parent = parent; + } + + private Dataset Data = null; + private HashMap useddata = new HashMap(); + + public void build_graph(Dataset current_data){ + current_routes = current_data.getRoutes(); + datasetup(current_routes); + XYChart.Series seriesArivals = new XYChart.Series(); + XYChart.Series seriesDeparts = new XYChart.Series(); + seriesArivals.setName("Arriving routes"); + seriesDeparts.setName("Departs routes"); + for (String airport : useddata.keySet()){ + ArrayList temp = useddata.get(airport); + seriesArivals.getData().add(new XYChart.Data(airport,temp.get(0))); + seriesDeparts.getData().add(new XYChart.Data(airport,temp.get(1))); + } + analyserGraph.getData().addAll(seriesArivals,seriesDeparts); + } + + private void datasetup(ArrayList current_routes){ + for (Route entry : current_routes){ + String departs = entry.getDepartureAirport(); + String arives = entry.getArrivalAirport(); + if (useddata.containsKey(departs)){ + ArrayList temp = useddata.get(departs); + temp.add(1,temp.get(1)+1); + useddata.replace(departs,temp); + }else { + ArrayList temp = new ArrayList(2); + temp.add(0); + temp.add(1); + useddata.put(departs,temp); + } + if (useddata.containsKey(arives)){ + ArrayList temp = useddata.get(arives); + temp.add(0,temp.get(0)+1); + useddata.replace(arives,temp); + }else { + ArrayList temp = new ArrayList(2); + temp.add(1); + temp.add(0); + useddata.put(arives,temp); + } + } + } +} diff --git a/src/main/java/seng202/group9/GUI/RouteRDController.java b/src/main/java/seng202/group9/GUI/RouteRDController.java index 7984304..9c6fbca 100644 --- a/src/main/java/seng202/group9/GUI/RouteRDController.java +++ b/src/main/java/seng202/group9/GUI/RouteRDController.java @@ -105,4 +105,15 @@ public class RouteRDController extends MenuController { alert.showAndWait(); } } + public void analyse_Button() { + try { + RouteAnalyser graphController = (RouteAnalyser) + parent.replaceSceneContent("route_analyser.fxml"); + graphController.setApp(parent); + graphController.build_graph(theDataSet); + } + catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/src/main/resources/route_analyser.fxml b/src/main/resources/route_analyser.fxml new file mode 100644 index 0000000..85a86f8 --- /dev/null +++ b/src/main/resources/route_analyser.fxml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/route_raw_data.fxml b/src/main/resources/route_raw_data.fxml index 870dddb..3774b05 100644 --- a/src/main/resources/route_raw_data.fxml +++ b/src/main/resources/route_raw_data.fxml @@ -12,7 +12,7 @@ - + @@ -29,7 +29,7 @@ -