diff --git a/res/userdb.db b/res/userdb.db index 6476a05..4f6d70c 100644 Binary files a/res/userdb.db and b/res/userdb.db differ diff --git a/src/main/java/seng202/group9/GUI/FlightRDController.java b/src/main/java/seng202/group9/GUI/FlightRDController.java index 53dbfa1..a55939a 100644 --- a/src/main/java/seng202/group9/GUI/FlightRDController.java +++ b/src/main/java/seng202/group9/GUI/FlightRDController.java @@ -115,26 +115,28 @@ public class FlightRDController extends Controller { * Used to load the table for the Flight points initially from the MenuController */ public void load() { - theDataSet = getParent().getCurrentDataset(); - try { - currentPathId = theDataSet.getFlightPaths().get(0).getID(); //Sets the default to the 1st Path - } catch (DataException e) { - e.printStackTrace(); - } - flightIdCol.setCellValueFactory(new PropertyValueFactory("ID")); - flightNameCol.setCellValueFactory(new PropertyValueFactory("Name")); - flightTypeCol.setCellValueFactory(new PropertyValueFactory("Type")); - flightAltitudeCol.setCellValueFactory(new PropertyValueFactory("Altitude")); - flightLatCol.setCellValueFactory(new PropertyValueFactory("Latitude")); - flightLongCol.setCellValueFactory(new PropertyValueFactory("Longitude")); - flightHeadCol.setCellValueFactory(new PropertyValueFactory("Heading")); - flightLegDisCol.setCellValueFactory(new PropertyValueFactory("LegDistance")); - flightTotDisCol.setCellValueFactory(new PropertyValueFactory("totalDistance")); + if (theDataSet != null) { + theDataSet = getParent().getCurrentDataset(); + try { + currentPathId = theDataSet.getFlightPaths().get(0).getID(); //Sets the default to the 1st Path + } catch (DataException e) { + e.printStackTrace(); + } + flightIdCol.setCellValueFactory(new PropertyValueFactory("ID")); + flightNameCol.setCellValueFactory(new PropertyValueFactory("Name")); + flightTypeCol.setCellValueFactory(new PropertyValueFactory("Type")); + flightAltitudeCol.setCellValueFactory(new PropertyValueFactory("Altitude")); + flightLatCol.setCellValueFactory(new PropertyValueFactory("Latitude")); + flightLongCol.setCellValueFactory(new PropertyValueFactory("Longitude")); + flightHeadCol.setCellValueFactory(new PropertyValueFactory("Heading")); + flightLegDisCol.setCellValueFactory(new PropertyValueFactory("LegDistance")); + flightTotDisCol.setCellValueFactory(new PropertyValueFactory("totalDistance")); - ArrayList flightPaths; - flightPaths = theDataSet.getFlightPaths(); - ArrayList flightPoints = flightPaths.get(0).getFlight(); - flightTableView.setItems(FXCollections.observableArrayList(flightPoints)); + ArrayList flightPaths; + flightPaths = theDataSet.getFlightPaths(); + ArrayList flightPoints = flightPaths.get(0).getFlight(); + flightTableView.setItems(FXCollections.observableArrayList(flightPoints)); + } } /** @@ -318,7 +320,9 @@ public class FlightRDController extends Controller { @Override public void loadOnce(){ - flightPathListView(); + if (theDataSet != null) { + 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 12f8c86..f683c61 100644 --- a/src/main/java/seng202/group9/GUI/FlightSummaryController.java +++ b/src/main/java/seng202/group9/GUI/FlightSummaryController.java @@ -177,36 +177,37 @@ public class FlightSummaryController extends Controller { * Used to load the page from the MenuController. */ public void load() { - try { - theDataSet = getParent().getCurrentDataset(); - ArrayList flightPaths; - flightPaths = theDataSet.getFlightPaths(); - for(int i = 0; i 0){ - map = new Map(mapView, theDataSet.getFlightPaths().get(0).getRoutePath()); - }else{ - map = new Map(mapView, new RoutePath()); - } - flightPathListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { - public void changed(ObservableValue observable, String oldValue, String newValue) { - int index = flightPathListView.getSelectionModel().getSelectedIndices().get(0); - if (index != -1) { - map.displayRoute(theDataSet.getFlightPaths().get(index).getRoutePath()); + if (theDataSet != null) { + try { + theDataSet = getParent().getCurrentDataset(); + ArrayList flightPaths; + flightPaths = theDataSet.getFlightPaths(); + for (int i = 0; i < flightPaths.size(); i++) { + int pathID = flightPaths.get(i).getID(); + String pathSource = flightPaths.get(i).departsFrom(); + String pathDestin = flightPaths.get(i).arrivesAt(); + String flightPathDisplayName = Integer.toString(pathID) + "_" + pathSource + "_" + pathDestin; + flightList.add(flightPathDisplayName); } + flightPathListView.setItems(flightList); + flightSummaryListView(); + } catch (Exception e) { + e.printStackTrace(); } - }); + if (theDataSet.getFlightPaths().size() > 0) { + map = new Map(mapView, theDataSet.getFlightPaths().get(0).getRoutePath()); + } else { + map = new Map(mapView, new RoutePath()); + } + flightPathListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { + public void changed(ObservableValue observable, String oldValue, String newValue) { + int index = flightPathListView.getSelectionModel().getSelectedIndices().get(0); + if (index != -1) { + map.displayRoute(theDataSet.getFlightPaths().get(index).getRoutePath()); + } + } + }); + } } /** * Removes the selected path from the list view of paths and from the database.