Merged Conflicts
This commit is contained in:
@@ -26,7 +26,7 @@ public class Session implements Serializable {
|
|||||||
private HashMap<String, String> airlineFilter;//storage for filter values for airports
|
private HashMap<String, String> airlineFilter;//storage for filter values for airports
|
||||||
private HashMap<String, String> routeFilter;//storage for filter values for airports
|
private HashMap<String, String> routeFilter;//storage for filter values for airports
|
||||||
private String selectedgraphagainst;
|
private String selectedgraphagainst;
|
||||||
private String selectedgraphoptions;
|
private ArrayList<String> selectedgraphoptions;
|
||||||
private Boolean usefilter;
|
private Boolean usefilter;
|
||||||
private Boolean forceGraph;
|
private Boolean forceGraph;
|
||||||
private String selectedDataToGraph;
|
private String selectedDataToGraph;
|
||||||
@@ -189,11 +189,11 @@ public class Session implements Serializable {
|
|||||||
this.selectedgraphagainst = selectedgraphagainst;
|
this.selectedgraphagainst = selectedgraphagainst;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSelectedgraphoptions() {
|
public ArrayList<String> getSelectedgraphoptions() {
|
||||||
return selectedgraphoptions;
|
return selectedgraphoptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelectedgraphoptions(String selectedgraphoptions) {
|
public void setSelectedgraphoptions(ArrayList<String> selectedgraphoptions) {
|
||||||
this.selectedgraphoptions = selectedgraphoptions;
|
this.selectedgraphoptions = selectedgraphoptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,8 +23,6 @@ public class BarChooserController extends Controller{
|
|||||||
@FXML
|
@FXML
|
||||||
ChoiceBox datatypechooser;
|
ChoiceBox datatypechooser;
|
||||||
@FXML
|
@FXML
|
||||||
ListView graph_against;
|
|
||||||
@FXML
|
|
||||||
ListView graph_options;
|
ListView graph_options;
|
||||||
@FXML
|
@FXML
|
||||||
CheckBox usefilter;
|
CheckBox usefilter;
|
||||||
@@ -32,18 +30,17 @@ public class BarChooserController extends Controller{
|
|||||||
ObservableList airportOptions = FXCollections.observableArrayList("Name", "ICAO", "IATA FFA", "Altitude",
|
ObservableList airportOptions = FXCollections.observableArrayList("Name", "ICAO", "IATA FFA", "Altitude",
|
||||||
"City", "Country");
|
"City", "Country");
|
||||||
|
|
||||||
ObservableList airlineOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA", "Alias",
|
ObservableList airlineOptions = FXCollections.observableArrayList("Name", "ICAO", "IATA", "Alias",
|
||||||
"Call Sign", "Active", "Country");
|
"Call Sign", "Active", "Country");
|
||||||
|
|
||||||
ObservableList routeOptions = FXCollections.observableArrayList("ID", "Stops", "Codeshare", "Equipment", "Airline",
|
ObservableList routeOptions = FXCollections.observableArrayList("Stops", "Codeshare", "Equipment", "Airline",
|
||||||
"Departure Airport", "Arival airport");
|
"Departure Airport", "Arival airport");
|
||||||
|
|
||||||
ArrayList<ObservableList> allOptions = new ArrayList<ObservableList>();
|
ArrayList<ObservableList> allOptions = new ArrayList<ObservableList>();
|
||||||
|
|
||||||
public void buildGraph() {
|
public void buildGraph() {
|
||||||
Session currentsession = this.getParent().getSession();
|
Session currentsession = this.getParent().getSession();
|
||||||
currentsession.setSelectedgraphoptions(graph_against.getSelectionModel().getSelectedItem().toString());
|
currentsession.setSelectedgraphoptions(graph_options.getSelectionModel().getSelectedItem().toString());
|
||||||
currentsession.setSelectedgraphagainst(graph_options.getSelectionModel().getSelectedItem().toString());
|
|
||||||
currentsession.setUsefilter(usefilter.isSelected());
|
currentsession.setUsefilter(usefilter.isSelected());
|
||||||
currentsession.setForceGraph(Boolean.FALSE);
|
currentsession.setForceGraph(Boolean.FALSE);
|
||||||
replaceSceneContent(SceneCode.ROUTE_ANALYSER);
|
replaceSceneContent(SceneCode.ROUTE_ANALYSER);
|
||||||
@@ -53,7 +50,6 @@ public class BarChooserController extends Controller{
|
|||||||
|
|
||||||
public void changeTables(){
|
public void changeTables(){
|
||||||
int temp = datatypechooser.getSelectionModel().getSelectedIndex();
|
int temp = datatypechooser.getSelectionModel().getSelectedIndex();
|
||||||
graph_against.setItems(allOptions.get(temp));
|
|
||||||
graph_options.setItems(allOptions.get(temp));
|
graph_options.setItems(allOptions.get(temp));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -68,8 +64,6 @@ public class BarChooserController extends Controller{
|
|||||||
changeTables();
|
changeTables();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
graph_against.setItems(airportOptions);
|
|
||||||
graph_against.getSelectionModel().selectFirst();
|
|
||||||
graph_options.setItems(airportOptions);
|
graph_options.setItems(airportOptions);
|
||||||
graph_options.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
graph_options.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
||||||
graph_options.getSelectionModel().selectFirst();
|
graph_options.getSelectionModel().selectFirst();
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ package seng202.group9.GUI;
|
|||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.chart.BarChart;
|
import javafx.scene.chart.BarChart;
|
||||||
import javafx.scene.chart.XYChart;
|
import javafx.scene.chart.XYChart;
|
||||||
import seng202.group9.Controller.App;
|
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
import seng202.group9.Controller.Session;
|
import seng202.group9.Controller.Session;
|
||||||
import seng202.group9.Core.Airline;
|
import seng202.group9.Core.Airline;
|
||||||
@@ -27,74 +26,71 @@ public class BarGraphController extends Controller {
|
|||||||
//Used to store the data needed for making the tables.
|
//Used to store the data needed for making the tables.
|
||||||
private ArrayList<Route> current_routes;
|
private ArrayList<Route> current_routes;
|
||||||
private Dataset currentdata = null;
|
private Dataset currentdata = null;
|
||||||
private HashMap<String, ArrayList> useddata = new HashMap<String, ArrayList>();
|
|
||||||
private Session currentsession;
|
private Session currentsession;
|
||||||
|
private HashMap<String, Integer> stopsData = new HashMap<String, Integer>();
|
||||||
|
private HashMap<String, Integer> codeShareData = new HashMap<String, Integer>();
|
||||||
|
private HashMap<String, Integer> equipmentData = new HashMap<String, Integer>();
|
||||||
|
private HashMap<String, Integer> airlineData = new HashMap<String, Integer>();
|
||||||
|
private HashMap<String, Integer> departureAirportData = new HashMap<String, Integer>();
|
||||||
|
private HashMap<String, Integer> arrivalAirportData = new HashMap<String, Integer>();
|
||||||
|
|
||||||
|
private void datasetupCustomRoute(ArrayList<Route> current_routes){
|
||||||
|
//Takes out the specified field then adds to the used data dict.
|
||||||
|
for (Route entry : current_routes){
|
||||||
|
if (stopsData.containsKey(entry.getStops())){
|
||||||
|
stopsData.replace(String.valueOf(entry.getStops()),stopsData.get(entry.getStops())+1);
|
||||||
|
}else {
|
||||||
|
stopsData.put(String.valueOf(entry.getStops()),1);
|
||||||
|
}
|
||||||
|
if (codeShareData.containsKey(entry.getCode())){
|
||||||
|
codeShareData.replace(String.valueOf(entry.getCode()),codeShareData.get(entry.getCode())+1);
|
||||||
|
}else {
|
||||||
|
codeShareData.put(String.valueOf(entry.getStops()),1);
|
||||||
|
}
|
||||||
|
if (equipmentData.containsKey(entry.getEquipment())){
|
||||||
|
equipmentData.replace(String.valueOf(entry.getEquipment()),equipmentData.get(entry.getEquipment())+1);
|
||||||
|
}else {
|
||||||
|
stopsData.put(String.valueOf(entry.getEquipment()),1);
|
||||||
|
}
|
||||||
|
if (airlineData.containsKey(entry.getAirlineName())){
|
||||||
|
airlineData.replace(String.valueOf(entry.getAirlineName()), airlineData.get(entry.getAirlineName())+1);
|
||||||
|
}else {
|
||||||
|
airlineData.put(String.valueOf(entry.getAirline()),1);
|
||||||
|
}
|
||||||
|
if (departureAirportData.containsKey(entry.getDepartureAirport())){
|
||||||
|
departureAirportData.replace(String.valueOf(entry.getDepartureAirport()),stopsData.get(entry.getDepartureAirport())+1);
|
||||||
|
}else {
|
||||||
|
departureAirportData.put(String.valueOf(entry.getDepartureAirport()),1);
|
||||||
|
}
|
||||||
|
if (arrivalAirportData.containsKey(entry.getArrivalAirport())){
|
||||||
|
arrivalAirportData.replace(String.valueOf(entry.getArrivalAirport()),arrivalAirportData.get(entry.getArrivalAirport())+1);
|
||||||
|
}else {
|
||||||
|
arrivalAirportData.put(String.valueOf(entry.getArrivalAirport()),1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Takes data from the current dataset and places it into the displayed bar graph.
|
* Takes data from the current dataset and places it into the displayed bar graph.
|
||||||
*/
|
*/
|
||||||
public void build_graph(){
|
public void buildRouteGraph(){
|
||||||
//Takes routes from the full dataset.
|
XYChart.Series seriesStops = new XYChart.Series();
|
||||||
current_routes = currentdata.getRoutes();
|
XYChart.Series seriesCode = new XYChart.Series();
|
||||||
//datasetup(current_routes);
|
XYChart.Series seriesEquipment = new XYChart.Series();
|
||||||
//Builds series needed for the graph.
|
XYChart.Series seriesAirline = new XYChart.Series();
|
||||||
XYChart.Series seriesArivals = new XYChart.Series();
|
XYChart.Series seriesArivals = new XYChart.Series();
|
||||||
XYChart.Series seriesDeparts = new XYChart.Series();
|
XYChart.Series seriesDeparts = new XYChart.Series();
|
||||||
seriesArivals.setName("Arriving routes");
|
|
||||||
seriesDeparts.setName("Departs routes");
|
seriesStops.setName("Stops");
|
||||||
for (String airport : useddata.keySet()){
|
seriesCode.setName("CodeShare");
|
||||||
ArrayList<Integer> temp = useddata.get(airport);
|
seriesEquipment.setName("Equipment");
|
||||||
seriesArivals.getData().add(new XYChart.Data(airport,temp.get(0)));
|
seriesAirline.setName("Airline");
|
||||||
seriesDeparts.getData().add(new XYChart.Data(airport,temp.get(1)));
|
seriesArivals.setName("Arrivals");
|
||||||
}
|
seriesDeparts.setName("Departures");
|
||||||
//Gives the formatted data to the graph.
|
//Gives the formatted data to the graph.
|
||||||
analyserGraph.getData().addAll(seriesArivals,seriesDeparts);
|
analyserGraph.getData().add(seriesDeparts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Takes the raw list of routes and fills the used data dictionary with the appropriate data to be displayed
|
|
||||||
* @param current_routes
|
|
||||||
*/
|
|
||||||
|
|
||||||
private int stops;
|
|
||||||
private String codeShare;
|
|
||||||
private String equipment;
|
|
||||||
private String airlineName;
|
|
||||||
private String departureAirport;
|
|
||||||
private String arrivalAirport;
|
|
||||||
|
|
||||||
/** private void datasetupCustomarAirport(ArrayList<Airport> current_air_ports){
|
|
||||||
//Takes out the specified field then adds to the used data dict.
|
|
||||||
for (Airport entry : current_air_ports){
|
|
||||||
currentsession.getSelectedgraphagainst() == "Name";
|
|
||||||
name = entry.getName();
|
|
||||||
currentsession.getSelectedgraphagainst() == "ICAO";
|
|
||||||
name = entry.getICAO();
|
|
||||||
currentsession.getSelectedgraphagainst() == "IATA_FFA"
|
|
||||||
name = entry.getIATA_FFA();
|
|
||||||
currentsession.getSelectedgraphagainst() == "City"
|
|
||||||
|
|
||||||
currentsession.getSelectedgraphagainst() == "Country"
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
private void datasetupCustomRoute(ArrayList<Route> current_routes){
|
|
||||||
//Takes out the specified field (Currently departure airport and arrival airport) then adds to the used data dict.
|
|
||||||
//if(currentsession.getSelectedgraphagainst() = ""){
|
|
||||||
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Takes the current dataset then loads the data to the graph using build graph.
|
* Takes the current dataset then loads the data to the graph using build graph.
|
||||||
@@ -147,8 +143,8 @@ public class BarGraphController extends Controller {
|
|||||||
d = currentdata.getRoutes();
|
d = currentdata.getRoutes();
|
||||||
}
|
}
|
||||||
datasetupCustomRoute(d);
|
datasetupCustomRoute(d);
|
||||||
|
buildRouteGraph();
|
||||||
}
|
}
|
||||||
build_graph();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,19 +36,10 @@
|
|||||||
</Text>
|
</Text>
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
<ListView fx:id="graph_against" layoutX="116.0" layoutY="150.0" prefHeight="200.0" prefWidth="200.0" />
|
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
<AnchorPane prefHeight="300.0" prefWidth="253.0">
|
<AnchorPane prefHeight="300.0" prefWidth="253.0">
|
||||||
<children>
|
<children>
|
||||||
<Pane layoutY="200.0" prefHeight="100.0" prefWidth="253.0">
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
|
||||||
</padding>
|
|
||||||
<children>
|
|
||||||
<ListView fx:id="graph_options" layoutX="104.0" layoutY="-50.0" prefHeight="200.0" prefWidth="200.0" />
|
|
||||||
</children>
|
|
||||||
</Pane>
|
|
||||||
<Pane prefHeight="200.0" prefWidth="253.0">
|
<Pane prefHeight="200.0" prefWidth="253.0">
|
||||||
<padding>
|
<padding>
|
||||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||||
@@ -57,6 +48,7 @@
|
|||||||
<ChoiceBox fx:id="datatypechooser" layoutY="14.0" prefWidth="150.0" />
|
<ChoiceBox fx:id="datatypechooser" layoutY="14.0" prefWidth="150.0" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
|
<ListView fx:id="graph_options" layoutX="7.0" layoutY="101.0" prefHeight="199.0" prefWidth="200.0" />
|
||||||
</children>
|
</children>
|
||||||
</AnchorPane>
|
</AnchorPane>
|
||||||
</children>
|
</children>
|
||||||
|
|||||||
Reference in New Issue
Block a user