Added Session and Controller Abstract Class
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -1,7 +1,6 @@
|
||||
package seng202.group9.Controller;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javafx.application.Application;
|
||||
@@ -15,7 +14,7 @@ import javafx.scene.layout.AnchorPane;
|
||||
import javafx.scene.layout.BorderPane;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.GUI.MenuController;
|
||||
import seng202.group9.GUI.*;
|
||||
|
||||
/**
|
||||
* Main Application frame of the Flight Data Analyser.
|
||||
@@ -27,6 +26,7 @@ public class App extends Application
|
||||
private Dataset currentDataset = null;
|
||||
private Stage primaryStage = null;
|
||||
private VBox mainContainer;
|
||||
private Session session;
|
||||
|
||||
public static void main( String[] args )
|
||||
{
|
||||
@@ -49,7 +49,7 @@ public class App extends Application
|
||||
primaryStage.sizeToScene();
|
||||
MenuController menuController = (MenuController) loader.getController();
|
||||
menuController.setApp(this);
|
||||
//replaceSceneContent("flight_raw_data.fxml");//replace this to check your fxml file
|
||||
in.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -62,11 +62,12 @@ public class App extends Application
|
||||
e.printStackTrace();
|
||||
|
||||
}
|
||||
/*
|
||||
AirlineFilter filter = new AirlineFilter(currentDataset.getAirlines());
|
||||
filter.filterName("NZ");
|
||||
filter.filterAlias("flight");
|
||||
filter.printFilter();
|
||||
/*
|
||||
|
||||
//testout single route adding
|
||||
try {
|
||||
currentDataset.addRoute("D2", "MAC", "WIN", "Y", "0", "NOW");
|
||||
@@ -110,18 +111,85 @@ public class App extends Application
|
||||
} catch (DataException e) {
|
||||
e.printStackTrace();
|
||||
}*/
|
||||
|
||||
//after all loading then load the previous session
|
||||
try{
|
||||
FileInputStream fileIn = new FileInputStream("res/session.ser");
|
||||
ObjectInputStream objectIn = new ObjectInputStream(fileIn);
|
||||
session = (Session) objectIn.readObject();
|
||||
Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.load();
|
||||
controller.loadOnce();/*
|
||||
if (session.getSceneDisplayed() == SceneCode.AIRLINE_RAW_DATA){
|
||||
Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.load();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.AIRLINE_SUMMARY){
|
||||
Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.load();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.AIRPORT_RAW_DATA){
|
||||
AirportRDController controller = (AirportRDController) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.loadTables();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.AIRPORT_SUMMARY){
|
||||
AirportSummaryController controller = (AirportSummaryController) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.loadTables();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.ROUTE_RAW_DATA){
|
||||
RouteRDController controller = (RouteRDController) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.loadTables();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.ROUTE_RAW_DATA){
|
||||
RouteSummaryController controller = (RouteSummaryController) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.loadTables();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.FLIGHT_RAW_DATA){
|
||||
FlightRawDataController controller = (FlightRawDataController) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.loadTables();
|
||||
}else if (session.getSceneDisplayed() == SceneCode.FLIGHT_SUMMARY){
|
||||
FlightSummaryController controller = (FlightSummaryController) replaceSceneContent(session.getSceneDisplayed());
|
||||
controller.setApp(this);
|
||||
controller.flightPathListView();
|
||||
}*/
|
||||
objectIn.close();
|
||||
fileIn.close();
|
||||
}catch(IOException e){
|
||||
session = new Session();
|
||||
e.printStackTrace();
|
||||
}catch(ClassNotFoundException e){
|
||||
System.out.println("Missing Session Class");
|
||||
System.exit(1);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize the exiting session
|
||||
*/
|
||||
public void stop(){
|
||||
try{
|
||||
FileOutputStream fileOut = new FileOutputStream("res/session.ser");
|
||||
ObjectOutputStream out = new ObjectOutputStream(fileOut);
|
||||
out.writeObject(session);
|
||||
out.close();
|
||||
fileOut.close();
|
||||
System.out.println("Session has been serialised for next load");
|
||||
}catch(IOException e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Replace Scene Content with fxml file code from oracle.
|
||||
* @param fxml
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public Initializable replaceSceneContent(String fxml) throws Exception {
|
||||
public Initializable replaceSceneContent(SceneCode fxml) throws Exception {
|
||||
FXMLLoader loader = new FXMLLoader();
|
||||
InputStream in = getClass().getClassLoader().getResourceAsStream(fxml);
|
||||
InputStream in = getClass().getClassLoader().getResourceAsStream(fxml.getFilePath());
|
||||
Parent page;
|
||||
try {
|
||||
page = (Parent) loader.load(in);
|
||||
@@ -132,6 +200,8 @@ public class App extends Application
|
||||
mainContainer.getChildren().remove(1);
|
||||
}
|
||||
mainContainer.getChildren().add(page);
|
||||
//change session code to fit with the serialisation
|
||||
session.setSceneDisplayed(fxml);
|
||||
return (Initializable) loader.getController();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package seng202.group9.Controller;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 16/09/16.
|
||||
*/
|
||||
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");
|
||||
|
||||
private String filePath;
|
||||
|
||||
SceneCode(String filePath){
|
||||
this.filePath = filePath;
|
||||
}
|
||||
|
||||
public String getFilePath(){
|
||||
return filePath;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package seng202.group9.Controller;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 16/09/16.
|
||||
*/
|
||||
public class Session implements Serializable {
|
||||
private SceneCode sceneDisplayed;
|
||||
|
||||
public Session(){
|
||||
//blank constructor
|
||||
this.sceneDisplayed = SceneCode.INITIAL;
|
||||
}
|
||||
|
||||
public Session(SceneCode scene){
|
||||
this.sceneDisplayed = scene;
|
||||
}
|
||||
|
||||
public void setSceneDisplayed(SceneCode sceneDisplayed) {
|
||||
this.sceneDisplayed = sceneDisplayed;
|
||||
}
|
||||
|
||||
public SceneCode getSceneDisplayed() {
|
||||
return sceneDisplayed;
|
||||
}
|
||||
}
|
||||
@@ -3,16 +3,20 @@ package seng202.group9.GUI;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Core.Airline;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* Created by Sunguin on 2016/09/13.
|
||||
*/
|
||||
public class AirlineRDController extends MenuController {
|
||||
public class AirlineRDController extends Controller {
|
||||
|
||||
@FXML
|
||||
private TableView<Airline> tableView;
|
||||
@@ -48,32 +52,8 @@ public class AirlineRDController extends MenuController {
|
||||
//private TextField airlActiveBox;
|
||||
private ComboBox<String> airlActiveCBox;
|
||||
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
public void loadTables() {
|
||||
airlIDcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ID"));
|
||||
airlNamecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
|
||||
airlAliascol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO"));
|
||||
//Need to check IATA and ICAO
|
||||
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
|
||||
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
|
||||
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
|
||||
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CountryName"));
|
||||
airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
|
||||
|
||||
theDataSet = this.parent.getCurrentDataset();
|
||||
tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
|
||||
//ObservableList<String> activeOptions= FXCollections.observableArrayList("Y", "N");
|
||||
airlActiveCBox.getItems().addAll("Y", "N");
|
||||
}
|
||||
|
||||
//Dummy function to test the add button.
|
||||
//Will edit when ID is added automatically.
|
||||
public void addAirlineSingle() {
|
||||
@@ -102,4 +82,22 @@ public class AirlineRDController extends MenuController {
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
|
||||
public void load() {
|
||||
airlIDcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ID"));
|
||||
airlNamecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
|
||||
airlAliascol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO"));
|
||||
//Need to check IATA and ICAO
|
||||
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
|
||||
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
|
||||
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
|
||||
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CountryName"));
|
||||
airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
|
||||
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
|
||||
//ObservableList<String> activeOptions= FXCollections.observableArrayList("Y", "N");
|
||||
airlActiveCBox.getItems().addAll("Y", "N");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,17 +2,19 @@ package seng202.group9.GUI;
|
||||
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
import seng202.group9.Core.Airline;
|
||||
|
||||
/**
|
||||
* Created by michael on 14/09/2016.
|
||||
*/
|
||||
public class AirlineSummaryController extends MenuController{
|
||||
public class AirlineSummaryController extends Controller{
|
||||
@FXML
|
||||
private TableView<Airline> tableView;
|
||||
@FXML
|
||||
@@ -28,63 +30,26 @@ public class AirlineSummaryController extends MenuController{
|
||||
|
||||
private Dataset currentData = null;
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public void loadTables() {
|
||||
public void load() {
|
||||
columnName.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
|
||||
columnAlias.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
|
||||
columnCountry.setCellValueFactory(new PropertyValueFactory<Airline, String>("Country"));
|
||||
columnIATA.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
|
||||
columnActive.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
|
||||
currentData = this.parent.getCurrentDataset();
|
||||
currentData = getParent().getCurrentDataset();
|
||||
tableView.setItems(FXCollections.observableArrayList(currentData.getAirlines()));
|
||||
}
|
||||
|
||||
public void airlineRawDataButton() {
|
||||
try {
|
||||
AirlineRDController rawDataController = (AirlineRDController)
|
||||
parent.replaceSceneContent("airline_raw_data.fxml");
|
||||
rawDataController.setApp(parent);
|
||||
rawDataController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRLINE_RAW_DATA);
|
||||
}
|
||||
public void flightSummaryButton() {
|
||||
try {
|
||||
FlightSummaryController summaryController = (FlightSummaryController)
|
||||
parent.replaceSceneContent("flight_data_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.flightPathListView();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.FLIGHT_SUMMARY);
|
||||
}
|
||||
public void airportSummaryButton() {
|
||||
try {
|
||||
AirportSummaryController summaryController = (AirportSummaryController)
|
||||
parent.replaceSceneContent("airport_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRPORT_SUMMARY);
|
||||
}
|
||||
public void routeSummaryButton() {
|
||||
try {
|
||||
RouteSummaryController summaryController = (RouteSummaryController)
|
||||
parent.replaceSceneContent("routes_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ import seng202.group9.Core.Country;
|
||||
/**
|
||||
* Created by Sunguin on 2016/09/13.
|
||||
*/
|
||||
public class AirportRDController extends MenuController{
|
||||
public class AirportRDController extends Controller{
|
||||
|
||||
@FXML
|
||||
private TableView<Airport> tableViewAirportRD;
|
||||
@@ -74,16 +74,9 @@ public class AirportRDController extends MenuController{
|
||||
@FXML
|
||||
private TextField airpTzBox;
|
||||
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public void loadTables() {
|
||||
public void load() {
|
||||
airpIDcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ID"));
|
||||
airpNamecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
|
||||
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("CityName"));
|
||||
@@ -114,7 +107,7 @@ public class AirportRDController extends MenuController{
|
||||
// return timeZoneCell;
|
||||
// }
|
||||
// });
|
||||
theDataSet = this.parent.getCurrentDataset();
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
|
||||
|
||||
airpDSTCBox.getItems().addAll("E", "A", "S", "O", "Z", "N", "U");
|
||||
|
||||
@@ -7,12 +7,13 @@ import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
import seng202.group9.Core.Airport;
|
||||
|
||||
/**
|
||||
* Created by michael on 14/09/2016.
|
||||
*/
|
||||
public class AirportSummaryController extends MenuController{
|
||||
public class AirportSummaryController extends Controller{
|
||||
@FXML
|
||||
private TableView<Airport> tableView;
|
||||
@FXML
|
||||
@@ -28,64 +29,27 @@ public class AirportSummaryController extends MenuController{
|
||||
|
||||
private Dataset currentData = null;
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
public void airportRawDataButton() {
|
||||
replaceSceneContent(SceneCode.AIRLINE_RAW_DATA);
|
||||
}
|
||||
public void flightSummaryButton() {
|
||||
replaceSceneContent(SceneCode.FLIGHT_SUMMARY);
|
||||
}
|
||||
public void routeSummaryButton() {
|
||||
replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
||||
}
|
||||
public void airlineSummaryButton() {
|
||||
replaceSceneContent(SceneCode.AIRLINE_SUMMARY);
|
||||
}
|
||||
|
||||
public void loadTables() {
|
||||
currentData = this.parent.getCurrentDataset();
|
||||
public void load() {
|
||||
currentData = getParent().getCurrentDataset();
|
||||
columnName.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
|
||||
columnCity.setCellValueFactory(new PropertyValueFactory<Airport, String>("City"));
|
||||
columnCountry.setCellValueFactory(new PropertyValueFactory<Airport, String>("Country"));
|
||||
columnIATA.setCellValueFactory(new PropertyValueFactory<Airport, String>("IATA_FFA"));
|
||||
columnAltitude.setCellValueFactory(new PropertyValueFactory<Airport, String>("Altitude"));
|
||||
currentData = this.parent.getCurrentDataset();
|
||||
currentData = getParent().getCurrentDataset();
|
||||
tableView.setItems(FXCollections.observableArrayList(currentData.getAirports()));
|
||||
}
|
||||
public void airportRawDataButton() {
|
||||
try {
|
||||
AirportRDController rawDataController = (AirportRDController)
|
||||
parent.replaceSceneContent("airport_raw_data.fxml");
|
||||
rawDataController.setApp(parent);
|
||||
rawDataController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void flightSummaryButton() {
|
||||
try {
|
||||
FlightSummaryController summaryController = (FlightSummaryController)
|
||||
parent.replaceSceneContent("flight_data_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.flightPathListView();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void routeSummaryButton() {
|
||||
try {
|
||||
RouteSummaryController summaryController = (RouteSummaryController)
|
||||
parent.replaceSceneContent("routes_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void airlineSummaryButton() {
|
||||
try {
|
||||
AirlineSummaryController summaryController = (AirlineSummaryController)
|
||||
parent.replaceSceneContent("airline_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.Initializable;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
/**
|
||||
* Created by Gondr on 16/09/2016.
|
||||
*/
|
||||
public abstract class Controller implements Initializable{
|
||||
private App parent;
|
||||
|
||||
/**
|
||||
* set Parent app
|
||||
* @param parent
|
||||
*/
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* get parent App
|
||||
* @return
|
||||
*/
|
||||
public App getParent(){
|
||||
return parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* functions to load
|
||||
*/
|
||||
public abstract void load();
|
||||
|
||||
/**
|
||||
* Replaces content and does normal loading
|
||||
* @param scene
|
||||
*/
|
||||
public void replaceSceneContent(SceneCode scene){
|
||||
try {
|
||||
Controller controller = (Controller)
|
||||
parent.replaceSceneContent(scene);
|
||||
controller.setApp(parent);
|
||||
controller.load();
|
||||
controller.loadOnce();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Functions here will only load once and after the load function.
|
||||
*/
|
||||
public void loadOnce(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize statement before anything loads.
|
||||
* @param location
|
||||
* @param resources
|
||||
*/
|
||||
public void initialize(URL location, ResourceBundle resources) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,19 +22,13 @@ import java.util.ResourceBundle;
|
||||
* Controller for the Flights Raw Data Scene.
|
||||
* Created by Liam Beckett on 13/09/2016.
|
||||
*/
|
||||
public class FlightRDController implements Initializable {
|
||||
|
||||
public class FlightRDController extends Controller {
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
private int currentPathId = 0;
|
||||
private int currentPathIndex = 0;
|
||||
|
||||
App parent;
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
theDataSet = parent.getCurrentDataset();
|
||||
currentPathId = theDataSet.getFlightPaths().get(0).getID(); //Sets the default to the 1st Path
|
||||
}
|
||||
|
||||
@FXML
|
||||
private TableView<FlightPoint> flightTableView;
|
||||
@FXML
|
||||
@@ -123,7 +117,9 @@ public class FlightRDController implements Initializable {
|
||||
/**
|
||||
* Function used to load the table for the Flight points initially from the MenuController
|
||||
*/
|
||||
public void loadTables() {
|
||||
public void load() {
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
currentPathId = theDataSet.getFlightPaths().get(0).getID(); //Sets the default to the 1st Path
|
||||
flightIdCol.setCellValueFactory(new PropertyValueFactory<FlightPoint, String>("ID"));
|
||||
flightNameCol.setCellValueFactory(new PropertyValueFactory<FlightPoint, String>("Name"));
|
||||
flightTypeCol.setCellValueFactory(new PropertyValueFactory<FlightPoint, String>("Type"));
|
||||
@@ -135,8 +131,6 @@ public class FlightRDController implements Initializable {
|
||||
flightLegDisCol.setCellValueFactory(new PropertyValueFactory<FlightPoint, String>("Leg_Dist"));
|
||||
flightTotDisCol.setCellValueFactory(new PropertyValueFactory<FlightPoint, String>("Tot_Dist"));
|
||||
|
||||
theDataSet = this.parent.getCurrentDataset();
|
||||
|
||||
ArrayList<FlightPath> flightPaths;
|
||||
flightPaths = theDataSet.getFlightPaths();
|
||||
//int firstID = flightPaths.get(0).getID();
|
||||
@@ -181,8 +175,9 @@ public class FlightRDController implements Initializable {
|
||||
}
|
||||
}
|
||||
|
||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||
// TODO Auto-generated method stub
|
||||
@Override
|
||||
public void loadOnce(){
|
||||
flightPathListView();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ListView;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
import seng202.group9.Core.FlightPath;
|
||||
|
||||
import java.net.URL;
|
||||
@@ -18,15 +19,10 @@ import java.util.ResourceBundle;
|
||||
* Controller for the Flights Summary Scene.
|
||||
* Created by Liam Beckett on 13/09/2016.
|
||||
*/
|
||||
public class FlightSummaryController implements Initializable {
|
||||
public class FlightSummaryController extends Controller {
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
App parent;
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@FXML
|
||||
private Button flightRawData;
|
||||
|
||||
@@ -35,11 +31,25 @@ public class FlightSummaryController implements Initializable {
|
||||
final ObservableList<String> flightList = FXCollections.observableArrayList();
|
||||
|
||||
/**
|
||||
* Loads the Flight paths into the List View and is called from the MenuController.
|
||||
* Changes to the Flight Raw Data Scene when the Raw Data Button is clicked
|
||||
*/
|
||||
public void flightPathListView() {
|
||||
public void handleRawDataButton() {
|
||||
replaceSceneContent(SceneCode.FLIGHT_RAW_DATA);
|
||||
}
|
||||
|
||||
public void airportSummaryButton() {
|
||||
replaceSceneContent(SceneCode.AIRPORT_SUMMARY);
|
||||
}
|
||||
public void routeSummaryButton() {
|
||||
replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
||||
}
|
||||
public void airlineSummaryButton() {
|
||||
replaceSceneContent(SceneCode.AIRLINE_SUMMARY);
|
||||
}
|
||||
|
||||
public void load() {
|
||||
try {
|
||||
theDataSet = this.parent.getCurrentDataset();
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
ArrayList<FlightPath> flightPaths = new ArrayList();
|
||||
flightPaths = theDataSet.getFlightPaths();
|
||||
for(int i = 0; i<flightPaths.size(); i++ ){
|
||||
@@ -55,60 +65,5 @@ public class FlightSummaryController implements Initializable {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Changes to the Flight Raw Data Scene when the Raw Data Button is clicked
|
||||
*/
|
||||
public void handleRawDataButton() {
|
||||
try {
|
||||
FlightRDController rawDataController = (FlightRDController)
|
||||
parent.replaceSceneContent("flight_raw_data.fxml");
|
||||
rawDataController.setApp(parent);
|
||||
rawDataController.loadTables();
|
||||
rawDataController.flightPathListView();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void airportSummaryButton() {
|
||||
try {
|
||||
AirportSummaryController summaryController = (AirportSummaryController)
|
||||
parent.replaceSceneContent("airport_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void routeSummaryButton() {
|
||||
try {
|
||||
RouteSummaryController summaryController = (RouteSummaryController)
|
||||
parent.replaceSceneContent("routes_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public void airlineSummaryButton() {
|
||||
try {
|
||||
AirlineSummaryController summaryController = (AirlineSummaryController)
|
||||
parent.replaceSceneContent("airline_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,10 +8,9 @@ import javax.swing.JOptionPane;
|
||||
import javafx.fxml.Initializable;
|
||||
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
|
||||
public class MenuController implements Initializable{
|
||||
|
||||
App parent;
|
||||
public class MenuController extends Controller{
|
||||
|
||||
public void importAirports(){
|
||||
JOptionPane.showMessageDialog(null, "This is not Implemented yet");
|
||||
@@ -33,98 +32,46 @@ public class MenuController implements Initializable{
|
||||
* Load Airline Raw Data Function.
|
||||
*/
|
||||
public void viewAirlineRawData() {
|
||||
try {
|
||||
AirlineRDController summaryController = (AirlineRDController) parent.replaceSceneContent("airline_raw_data.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRPORT_RAW_DATA);
|
||||
}
|
||||
|
||||
public void viewAirportRawData() {
|
||||
try {
|
||||
AirportRDController summaryController = (AirportRDController) parent.replaceSceneContent("airport_raw_data.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRPORT_RAW_DATA);
|
||||
}
|
||||
|
||||
public void viewRouteRawData() {
|
||||
try {
|
||||
RouteRDController summaryController = (RouteRDController) parent.replaceSceneContent("route_raw_data.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.ROUTE_RAW_DATA);
|
||||
}
|
||||
|
||||
public void viewAirlineSummary() {
|
||||
try {
|
||||
AirlineSummaryController summaryController = (AirlineSummaryController) parent.replaceSceneContent("airline_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRLINE_SUMMARY);
|
||||
}
|
||||
|
||||
public void viewAirportSummary() {
|
||||
try {
|
||||
AirportSummaryController summaryController = (AirportSummaryController) parent.replaceSceneContent("airport_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRPORT_SUMMARY);
|
||||
}
|
||||
|
||||
public void viewRouteSummary() {
|
||||
try {
|
||||
RouteSummaryController summaryController = (RouteSummaryController) parent.replaceSceneContent("routes_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load Flight Summary Function.
|
||||
*/
|
||||
public void viewFlightSummary() {
|
||||
try {
|
||||
FlightSummaryController summaryController = (FlightSummaryController) parent.replaceSceneContent("flight_data_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.flightPathListView();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.FLIGHT_SUMMARY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load Flight Raw Data Function.
|
||||
*/
|
||||
public void viewFlightRawData() {
|
||||
try {
|
||||
FlightRDController rawDataController = (FlightRDController)
|
||||
parent.replaceSceneContent("flight_raw_data.fxml");
|
||||
rawDataController.setApp(parent);
|
||||
rawDataController.loadTables();
|
||||
rawDataController.flightPathListView();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.FLIGHT_RAW_DATA);
|
||||
}
|
||||
|
||||
|
||||
public void load() {
|
||||
//nothing to load
|
||||
}
|
||||
|
||||
public void initialize(URL arg0, ResourceBundle arg1) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
@@ -11,7 +11,7 @@ import seng202.group9.Core.Route;
|
||||
/**
|
||||
* Created by Sunguin on 2016/09/14.
|
||||
*/
|
||||
public class RouteRDController extends MenuController {
|
||||
public class RouteRDController extends Controller {
|
||||
|
||||
@FXML
|
||||
private TableView<Route> tableViewRouteRD;
|
||||
@@ -47,32 +47,8 @@ public class RouteRDController extends MenuController {
|
||||
@FXML
|
||||
private TextField rEquipmentBox;
|
||||
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
public void loadTables() {
|
||||
rAirlineCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineName"));
|
||||
rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
|
||||
rSourceCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DepartureAirport"));
|
||||
rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
|
||||
rDestCol.setCellValueFactory(new PropertyValueFactory<Route, String>("ArrivalAirport"));
|
||||
rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
|
||||
rCodeshareCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Code"));
|
||||
rStopsCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Stops"));
|
||||
rEquipmentCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Equipment"));
|
||||
|
||||
theDataSet = this.parent.getCurrentDataset();
|
||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
||||
|
||||
rCodeshareCBox.getItems().addAll("Y", "");
|
||||
}
|
||||
|
||||
public void addRouteSingle() {
|
||||
try {
|
||||
theDataSet.addRoute(
|
||||
@@ -98,4 +74,21 @@ public class RouteRDController extends MenuController {
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
|
||||
public void load() {
|
||||
rAirlineCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineName"));
|
||||
rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
|
||||
rSourceCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DepartureAirport"));
|
||||
rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
|
||||
rDestCol.setCellValueFactory(new PropertyValueFactory<Route, String>("ArrivalAirport"));
|
||||
rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
|
||||
rCodeshareCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Code"));
|
||||
rStopsCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Stops"));
|
||||
rEquipmentCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Equipment"));
|
||||
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
||||
|
||||
rCodeshareCBox.getItems().addAll("Y", "");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,12 +7,13 @@ import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
import seng202.group9.Core.Route;
|
||||
|
||||
/**
|
||||
* Created by michael on 14/09/2016.
|
||||
*/
|
||||
public class RouteSummaryController extends MenuController{
|
||||
public class RouteSummaryController extends Controller{
|
||||
@FXML
|
||||
private TableView<Route> tableView;
|
||||
@FXML
|
||||
@@ -28,64 +29,26 @@ public class RouteSummaryController extends MenuController{
|
||||
|
||||
private Dataset currentData = null;
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public void loadTables() {
|
||||
public void load() {
|
||||
columnAirline.setCellValueFactory(new PropertyValueFactory<Route, String>("Airline"));
|
||||
columnDepart.setCellValueFactory(new PropertyValueFactory<Route, String>("DepartureAirport"));
|
||||
columnArrive.setCellValueFactory(new PropertyValueFactory<Route, String>("ArrivalAirport"));
|
||||
columnStops.setCellValueFactory(new PropertyValueFactory<Route, String>("Stops"));
|
||||
columnEquipment.setCellValueFactory(new PropertyValueFactory<Route, String>("Equipment"));
|
||||
currentData = this.parent.getCurrentDataset();
|
||||
currentData = getParent().getCurrentDataset();
|
||||
tableView.setItems(FXCollections.observableArrayList(currentData.getRoutes()));
|
||||
}
|
||||
public void routeRawDataButton() {
|
||||
try {
|
||||
RouteRDController rawDataController = (RouteRDController)
|
||||
parent.replaceSceneContent("route_raw_data.fxml");
|
||||
rawDataController.setApp(parent);
|
||||
rawDataController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.ROUTE_RAW_DATA);
|
||||
}
|
||||
public void flightSummaryButton() {
|
||||
try {
|
||||
FlightSummaryController summaryController = (FlightSummaryController)
|
||||
parent.replaceSceneContent("flight_data_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.flightPathListView();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.FLIGHT_SUMMARY);
|
||||
}
|
||||
public void airportSummaryButton() {
|
||||
try {
|
||||
AirportSummaryController summaryController = (AirportSummaryController)
|
||||
parent.replaceSceneContent("airport_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRPORT_SUMMARY);
|
||||
}
|
||||
public void airlineSummaryButton() {
|
||||
try {
|
||||
AirlineSummaryController summaryController = (AirlineSummaryController)
|
||||
parent.replaceSceneContent("airline_summary.fxml");
|
||||
summaryController.setApp(parent);
|
||||
summaryController.loadTables();
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
replaceSceneContent(SceneCode.AIRLINE_SUMMARY);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user