diff --git a/res/session.ser b/res/session.ser index 7139935..2fd6909 100644 Binary files a/res/session.ser and b/res/session.ser differ diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index 5675473..be6b13a 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -14,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. @@ -39,7 +39,6 @@ public class App extends Application @Override public void start(Stage primaryStage) { this.primaryStage = primaryStage; - this.session = new Session(); //load the menu and the first container try { FXMLLoader loader = new FXMLLoader(); @@ -50,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(); } @@ -63,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"); @@ -111,7 +111,55 @@ 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(); + if (session.getSceneDisplayed() == SceneCode.AIRLINE_RAW_DATA){ + AirlineRDController controller = (AirlineRDController) replaceSceneContent(session.getSceneDisplayed()); + controller.setApp(this); + controller.loadTables(); + }else if (session.getSceneDisplayed() == SceneCode.AIRLINE_SUMMARY){ + AirlineSummaryController controller = (AirlineSummaryController) replaceSceneContent(session.getSceneDisplayed()); + controller.setApp(this); + controller.loadTables(); + }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(); + } } /** diff --git a/src/main/java/seng202/group9/Controller/Session.java b/src/main/java/seng202/group9/Controller/Session.java index eeb4136..3b6ceaa 100644 --- a/src/main/java/seng202/group9/Controller/Session.java +++ b/src/main/java/seng202/group9/Controller/Session.java @@ -20,4 +20,8 @@ public class Session implements Serializable { public void setSceneDisplayed(SceneCode sceneDisplayed) { this.sceneDisplayed = sceneDisplayed; } + + public SceneCode getSceneDisplayed() { + return sceneDisplayed; + } }