diff --git a/res/session.ser b/res/session.ser new file mode 100644 index 0000000..dc7bbff Binary files /dev/null and b/res/session.ser differ diff --git a/res/userdb.db b/res/userdb.db index 16b9634..ed5ac18 100644 Binary files a/res/userdb.db and b/res/userdb.db differ diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index 86f3555..a2a547b 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -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(); } diff --git a/src/main/java/seng202/group9/Controller/SceneCode.java b/src/main/java/seng202/group9/Controller/SceneCode.java new file mode 100644 index 0000000..3b2d15b --- /dev/null +++ b/src/main/java/seng202/group9/Controller/SceneCode.java @@ -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; + } +} diff --git a/src/main/java/seng202/group9/Controller/Session.java b/src/main/java/seng202/group9/Controller/Session.java new file mode 100644 index 0000000..3b6ceaa --- /dev/null +++ b/src/main/java/seng202/group9/Controller/Session.java @@ -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; + } +} diff --git a/src/main/java/seng202/group9/GUI/AirlineRDController.java b/src/main/java/seng202/group9/GUI/AirlineRDController.java index 33fd35f..6357a10 100644 --- a/src/main/java/seng202/group9/GUI/AirlineRDController.java +++ b/src/main/java/seng202/group9/GUI/AirlineRDController.java @@ -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 tableView; @@ -48,32 +52,8 @@ public class AirlineRDController extends MenuController { //private TextField airlActiveBox; private ComboBox airlActiveCBox; - - App parent; - - public void setApp(App parent){ - this.parent = parent; - } - private Dataset theDataSet = null; - public void loadTables() { - airlIDcol.setCellValueFactory(new PropertyValueFactory("ID")); - airlNamecol.setCellValueFactory(new PropertyValueFactory("Name")); - airlAliascol.setCellValueFactory(new PropertyValueFactory("ICAO")); - //Need to check IATA and ICAO - airlIATAcol.setCellValueFactory(new PropertyValueFactory("Alias")); - airlICAOcol.setCellValueFactory(new PropertyValueFactory("IATA")); - airlCallsigncol.setCellValueFactory(new PropertyValueFactory("CallSign")); - airlCountrycol.setCellValueFactory(new PropertyValueFactory("CountryName")); - airlActivecol.setCellValueFactory(new PropertyValueFactory("Active")); - - theDataSet = this.parent.getCurrentDataset(); - tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); - //ObservableList 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("ID")); + airlNamecol.setCellValueFactory(new PropertyValueFactory("Name")); + airlAliascol.setCellValueFactory(new PropertyValueFactory("ICAO")); + //Need to check IATA and ICAO + airlIATAcol.setCellValueFactory(new PropertyValueFactory("Alias")); + airlICAOcol.setCellValueFactory(new PropertyValueFactory("IATA")); + airlCallsigncol.setCellValueFactory(new PropertyValueFactory("CallSign")); + airlCountrycol.setCellValueFactory(new PropertyValueFactory("CountryName")); + airlActivecol.setCellValueFactory(new PropertyValueFactory("Active")); + + theDataSet = getParent().getCurrentDataset(); + tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); + //ObservableList activeOptions= FXCollections.observableArrayList("Y", "N"); + airlActiveCBox.getItems().addAll("Y", "N"); + } + } diff --git a/src/main/java/seng202/group9/GUI/AirlineSummaryController.java b/src/main/java/seng202/group9/GUI/AirlineSummaryController.java index 07be386..1ce7873 100644 --- a/src/main/java/seng202/group9/GUI/AirlineSummaryController.java +++ b/src/main/java/seng202/group9/GUI/AirlineSummaryController.java @@ -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 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("Name")); columnAlias.setCellValueFactory(new PropertyValueFactory("Alias")); columnCountry.setCellValueFactory(new PropertyValueFactory("Country")); columnIATA.setCellValueFactory(new PropertyValueFactory("IATA")); columnActive.setCellValueFactory(new PropertyValueFactory("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); } } diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index 34b57b0..208550c 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -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 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("ID")); airpNamecol.setCellValueFactory(new PropertyValueFactory("Name")); airpCitycol.setCellValueFactory(new PropertyValueFactory("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"); diff --git a/src/main/java/seng202/group9/GUI/AirportSummaryController.java b/src/main/java/seng202/group9/GUI/AirportSummaryController.java index 03d3dad..8906de7 100644 --- a/src/main/java/seng202/group9/GUI/AirportSummaryController.java +++ b/src/main/java/seng202/group9/GUI/AirportSummaryController.java @@ -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 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("Name")); columnCity.setCellValueFactory(new PropertyValueFactory("City")); columnCountry.setCellValueFactory(new PropertyValueFactory("Country")); columnIATA.setCellValueFactory(new PropertyValueFactory("IATA_FFA")); columnAltitude.setCellValueFactory(new PropertyValueFactory("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(); - } - } } \ No newline at end of file diff --git a/src/main/java/seng202/group9/GUI/Controller.java b/src/main/java/seng202/group9/GUI/Controller.java new file mode 100644 index 0000000..2ba31ce --- /dev/null +++ b/src/main/java/seng202/group9/GUI/Controller.java @@ -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) { + + } + +} diff --git a/src/main/java/seng202/group9/GUI/FlightRDController.java b/src/main/java/seng202/group9/GUI/FlightRDController.java index e1f70ed..30ea8b4 100644 --- a/src/main/java/seng202/group9/GUI/FlightRDController.java +++ b/src/main/java/seng202/group9/GUI/FlightRDController.java @@ -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 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("ID")); flightNameCol.setCellValueFactory(new PropertyValueFactory("Name")); flightTypeCol.setCellValueFactory(new PropertyValueFactory("Type")); @@ -135,8 +131,6 @@ public class FlightRDController implements Initializable { flightLegDisCol.setCellValueFactory(new PropertyValueFactory("Leg_Dist")); flightTotDisCol.setCellValueFactory(new PropertyValueFactory("Tot_Dist")); - theDataSet = this.parent.getCurrentDataset(); - ArrayList 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(); } + } \ No newline at end of file diff --git a/src/main/java/seng202/group9/GUI/FlightSummaryController.java b/src/main/java/seng202/group9/GUI/FlightSummaryController.java index de7fa9b..5fd7d93 100644 --- a/src/main/java/seng202/group9/GUI/FlightSummaryController.java +++ b/src/main/java/seng202/group9/GUI/FlightSummaryController.java @@ -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 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 flightPaths = new ArrayList(); flightPaths = theDataSet.getFlightPaths(); for(int i = 0; i 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("AirlineName")); - rAirlineIDCol.setCellValueFactory(new PropertyValueFactory("AirlineID")); - rSourceCol.setCellValueFactory(new PropertyValueFactory("DepartureAirport")); - rSourceIDCol.setCellValueFactory(new PropertyValueFactory("SourceID")); - rDestCol.setCellValueFactory(new PropertyValueFactory("ArrivalAirport")); - rDestIDCol.setCellValueFactory(new PropertyValueFactory("DestID")); - rCodeshareCol.setCellValueFactory(new PropertyValueFactory("Code")); - rStopsCol.setCellValueFactory(new PropertyValueFactory("Stops")); - rEquipmentCol.setCellValueFactory(new PropertyValueFactory("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("AirlineName")); + rAirlineIDCol.setCellValueFactory(new PropertyValueFactory("AirlineID")); + rSourceCol.setCellValueFactory(new PropertyValueFactory("DepartureAirport")); + rSourceIDCol.setCellValueFactory(new PropertyValueFactory("SourceID")); + rDestCol.setCellValueFactory(new PropertyValueFactory("ArrivalAirport")); + rDestIDCol.setCellValueFactory(new PropertyValueFactory("DestID")); + rCodeshareCol.setCellValueFactory(new PropertyValueFactory("Code")); + rStopsCol.setCellValueFactory(new PropertyValueFactory("Stops")); + rEquipmentCol.setCellValueFactory(new PropertyValueFactory("Equipment")); + + theDataSet = getParent().getCurrentDataset(); + tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes())); + + rCodeshareCBox.getItems().addAll("Y", ""); + } } diff --git a/src/main/java/seng202/group9/GUI/RouteSummaryController.java b/src/main/java/seng202/group9/GUI/RouteSummaryController.java index b5f023e..42ff60b 100644 --- a/src/main/java/seng202/group9/GUI/RouteSummaryController.java +++ b/src/main/java/seng202/group9/GUI/RouteSummaryController.java @@ -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 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("Airline")); columnDepart.setCellValueFactory(new PropertyValueFactory("DepartureAirport")); columnArrive.setCellValueFactory(new PropertyValueFactory("ArrivalAirport")); columnStops.setCellValueFactory(new PropertyValueFactory("Stops")); columnEquipment.setCellValueFactory(new PropertyValueFactory("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); } } \ No newline at end of file