Merged Conflicts

main
YaFedImYaEatIm 9 years ago
commit 48f3d85901

@ -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");
for (String airport : useddata.keySet()){
ArrayList<Integer> temp = useddata.get(airport);
seriesArivals.getData().add(new XYChart.Data(airport,temp.get(0)));
seriesDeparts.getData().add(new XYChart.Data(airport,temp.get(1)));
}
//Gives the formatted data to the graph.
analyserGraph.getData().addAll(seriesArivals,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" seriesStops.setName("Stops");
name = entry.getCountryName(); seriesCode.setName("CodeShare");
seriesEquipment.setName("Equipment");
if (useddata.containsKey(name)){ seriesAirline.setName("Airline");
int temp = useddata.get(name); seriesArivals.setName("Arrivals");
useddata.replace(name,temp+1); seriesDeparts.setName("Departures");
}else { //Gives the formatted data to the graph.
Integer temp = 1; analyserGraph.getData().add(seriesDeparts);
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>

Loading…
Cancel
Save