From 0cfffd258c7e1226213174547fd6624a69301c55 Mon Sep 17 00:00:00 2001 From: Sunguin Peng Date: Fri, 16 Sep 2016 12:07:15 +1200 Subject: [PATCH] GUI displays all fields and altered some GUI --- res/userdb.db | Bin 4365312 -> 4365312 bytes .../seng202/group9/Controller/Dataset.java | 7 ++- .../java/seng202/group9/Core/Airport.java | 25 ++++++++ src/main/java/seng202/group9/Core/Route.java | 25 ++++++++ .../group9/GUI/AirlineRDController.java | 17 +++--- .../group9/GUI/AirportRDController.java | 32 ++++++---- .../seng202/group9/GUI/RouteRDController.java | 27 +++------ src/main/resources/airline_raw_data.fxml | 33 +++++----- src/main/resources/airport_raw_data.fxml | 57 +++++++++--------- src/main/resources/route_raw_data.fxml | 17 +++--- 10 files changed, 143 insertions(+), 97 deletions(-) diff --git a/res/userdb.db b/res/userdb.db index 982fc0d957fe95b44e2d3299d520c92464f0f80f..16b963416e3ceb1d4287c088ac701569a2fafe0c 100644 GIT binary patch delta 436 zcmY++D^Egk0EThS`2!wAJlqrnRKN=Y-Z+Awc)>$AIX5?gL5r7-4FZLY%^)-B2q(Gu z6$tFuBpM7vzX8QWv-uExw_ka~(|UiBTX+sj&6h}7YIZLhKKoBlh@8|ZW&IB$-{Z(9 zL56@8HrO!%1rAKYi7B`+4Ha&9;KjJ*#|&l>KoD~XA&dy-v4BNH5knkHSjGxgk-!>~ zNFj}NY+w^x*hU5#c92C5yU3$}J?x{1103QA$0*^%9Qkx_#d>A=wiuO4y4ZPb#5?zI znqgG+oK-|c&>U3tvTRdA?NHn3YZ1Tkb?#8iY)v0T+;(|r5g(#1^1>z@R{_(Q!7L0EF^3XN%wqwISV9>Vma&3Wtf7K+R8d168)#q? zTiC`9Z0y2;i#;^a!afer#vzVyj1Iaui4)z+`^s7BI~DnUy&XRGt?=T>j-tSGm5h+( z_%rZ&vSdWp6|)#OF1;@^rwBDA-o%w?3N airlineByIATA= new HashMap(); //create Airline country link for (Airline airline: airlines){ + airlineByIATA.put(airline.getAlias(), airline); + //System.out.println(airline.getAlias()); airline.setCountry(countryDictionary.get(airline.getCountryName())); } //create Airport City and Country Link HashMap airportsByIATA = new HashMap(); //this is used later for connecting the routes HashMap airportsByICAO = new HashMap(); //this is used later for connecting the routes for (Airport airport: airports){ + //System.out.println(airport.getIATA_FFA()); airportsByIATA.put(airport.getIATA_FFA(), airport); airportsByICAO.put(airport.getICAO(), airport); airport.setCountry(countryDictionary.get(airport.getCountryName())); @@ -762,7 +767,7 @@ public class Dataset { }else{ route.setDestinationAirport(airportsByIATA.get(route.getArrivalAirport())); } - route.setAirline(airlineDictionary.get(route.getAirlineName())); + route.setAirline(airlineByIATA.get(route.getAirlineName())); } System.out.println("Links Made"); } diff --git a/src/main/java/seng202/group9/Core/Airport.java b/src/main/java/seng202/group9/Core/Airport.java index a21043b..e4ee64e 100644 --- a/src/main/java/seng202/group9/Core/Airport.java +++ b/src/main/java/seng202/group9/Core/Airport.java @@ -254,6 +254,31 @@ public class Airport { return country; } + //JavaDoc needed + public Double getTimezone() { + if (this.city != null) { + return this.city.getTimezone(); + }else{ + return 0.0; + } + } + //JavaDoc needed + public String getDST() { + if (this.country != null) { + return this.country.getDST(); + }else{ + return ""; + } + } + //JavaDoc needed + public String getTz() { + if (this.city != null) { + return this.city.getTimeOlson(); + }else{ + return ""; + } + } + /** * set country class associated with this airport * @param country diff --git a/src/main/java/seng202/group9/Core/Route.java b/src/main/java/seng202/group9/Core/Route.java index c193abf..07b975d 100644 --- a/src/main/java/seng202/group9/Core/Route.java +++ b/src/main/java/seng202/group9/Core/Route.java @@ -120,6 +120,31 @@ public class Route { return ID; } } + //JavaDoc needed + public int getAirlineID() throws DataException { + if (this.airline != null) { + return this.getAirline().getID(); + }else { + return 0; + } + } + + public int getSourceID() throws DataException { + if (this.getSourceAirport() != null) { + return this.getSourceAirport().getID(); + } else { + return 0; + } + } + + public int getDestID() throws DataException { + if (this.getDestinationAirport() != null) { + return this.getDestinationAirport().getID(); + } else { + return 0; + } + } + /** * returns the number of stops the route stops. * @return diff --git a/src/main/java/seng202/group9/GUI/AirlineRDController.java b/src/main/java/seng202/group9/GUI/AirlineRDController.java index bbfd2e2..33fd35f 100644 --- a/src/main/java/seng202/group9/GUI/AirlineRDController.java +++ b/src/main/java/seng202/group9/GUI/AirlineRDController.java @@ -1,11 +1,9 @@ package seng202.group9.GUI; import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.fxml.FXML; -import javafx.scene.control.Alert; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.TextField; +import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; @@ -47,7 +45,8 @@ public class AirlineRDController extends MenuController { @FXML private TextField airlCountryBox; @FXML - private TextField airlActiveBox; + //private TextField airlActiveBox; + private ComboBox airlActiveCBox; App parent; @@ -66,11 +65,13 @@ public class AirlineRDController extends MenuController { airlIATAcol.setCellValueFactory(new PropertyValueFactory("Alias")); airlICAOcol.setCellValueFactory(new PropertyValueFactory("IATA")); airlCallsigncol.setCellValueFactory(new PropertyValueFactory("CallSign")); - airlCountrycol.setCellValueFactory(new PropertyValueFactory("Country")); + 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. @@ -84,14 +85,14 @@ public class AirlineRDController extends MenuController { airlICAOBox.getText(), airlCallsignBox.getText(), airlCountryBox.getText(), - airlActiveBox.getText()); + airlActiveCBox.getSelectionModel().getSelectedItem().toString()); airlNameBox.clear(); airlAliasBox.clear(); airlIATABox.clear(); airlICAOBox.clear(); airlCallsignBox.clear(); airlCountryBox.clear(); - airlActiveBox.clear(); + airlActiveCBox.getSelectionModel().clearSelection(); tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); } catch ( Exception e ) { Alert alert = new Alert(Alert.AlertType.ERROR); diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index 0357baf..34b57b0 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -1,6 +1,10 @@ package seng202.group9.GUI; +import com.sun.javafx.collections.ObservableListWrapper; import javafx.beans.InvalidationListener; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.value.ObservableStringValue; +import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; @@ -41,11 +45,11 @@ public class AirportRDController extends MenuController{ @FXML private TableColumn airpAltitudecol; @FXML - private TableColumn airpTimezonecol; + private TableColumn airpTimezonecol; @FXML - private TableColumn airpDSTcol; + private TableColumn airpDSTcol; @FXML - private TableColumn airpTzcol; + private TableColumn airpTzcol; @FXML private TextField airpNameBox; @@ -66,7 +70,7 @@ public class AirportRDController extends MenuController{ @FXML private TextField airpTimezoneBox; @FXML - private TextField airpDSTBox; + private ComboBox airpDSTCBox; @FXML private TextField airpTzBox; @@ -82,18 +86,18 @@ public class AirportRDController extends MenuController{ public void loadTables() { airpIDcol.setCellValueFactory(new PropertyValueFactory("ID")); airpNamecol.setCellValueFactory(new PropertyValueFactory("Name")); - airpCitycol.setCellValueFactory(new PropertyValueFactory("City")); - airpCountrycol.setCellValueFactory(new PropertyValueFactory("Country")); + airpCitycol.setCellValueFactory(new PropertyValueFactory("CityName")); + airpCountrycol.setCellValueFactory(new PropertyValueFactory("CountryName")); airpIATAFFAcol.setCellValueFactory(new PropertyValueFactory("IATA_FFA")); airpICAOcol.setCellValueFactory(new PropertyValueFactory("ICAO")); airpLatitudecol.setCellValueFactory(new PropertyValueFactory("Latitude")); airpLongitudecol.setCellValueFactory(new PropertyValueFactory("Longitude")); - airpAltitudecol.setCellValueFactory(new PropertyValueFactory("Altitude")); - airpTimezonecol.setCellValueFactory(new PropertyValueFactory("Timezone")); - airpDSTcol.setCellValueFactory(new PropertyValueFactory("DST")); - airpTzcol.setCellValueFactory(new PropertyValueFactory("Tz")); + airpAltitudecol.setCellValueFactory(new PropertyValueFactory ("Altitude")); + airpTimezonecol.setCellValueFactory(new PropertyValueFactory("Timezone")); + airpDSTcol.setCellValueFactory(new PropertyValueFactory("DST")); + airpTzcol.setCellValueFactory(new PropertyValueFactory("Tz")); -// airpTimezonecol.setCellFactory(new Callback, TableCell>() { +// airpTimezonecol.setCellFactory(new Callback, TableCell>() { // // @Override // public TableCell call(TableColumn param) { @@ -112,6 +116,8 @@ public class AirportRDController extends MenuController{ // }); theDataSet = this.parent.getCurrentDataset(); tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports())); + + airpDSTCBox.getItems().addAll("E", "A", "S", "O", "Z", "N", "U"); } public void addAirportSingle() { @@ -126,7 +132,7 @@ public class AirportRDController extends MenuController{ airpLongitudeBox.getText(), airpAltitudeBox.getText(), airpTimezoneBox.getText(), - airpDSTBox.getText(), + airpDSTCBox.getSelectionModel().getSelectedItem().toString(), airpTzBox.getText()); airpCityBox.clear(); airpCountryBox.clear(); @@ -136,7 +142,7 @@ public class AirportRDController extends MenuController{ airpLongitudeBox.clear(); airpAltitudeBox.clear(); airpTimezoneBox.clear(); - airpDSTBox.clear(); + airpDSTCBox.getSelectionModel().clearSelection(); airpTzBox.clear(); tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports())); } catch ( Exception e ) { diff --git a/src/main/java/seng202/group9/GUI/RouteRDController.java b/src/main/java/seng202/group9/GUI/RouteRDController.java index 7984304..2b43a75 100644 --- a/src/main/java/seng202/group9/GUI/RouteRDController.java +++ b/src/main/java/seng202/group9/GUI/RouteRDController.java @@ -2,10 +2,7 @@ package seng202.group9.GUI; import javafx.collections.FXCollections; import javafx.fxml.FXML; -import javafx.scene.control.Alert; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableView; -import javafx.scene.control.TextField; +import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; @@ -40,17 +37,11 @@ public class RouteRDController extends MenuController { @FXML private TextField rAirlineBox; @FXML - private TextField rAirlineIDBox; - @FXML private TextField rSourceBox; @FXML - private TextField rSourceIDBox; - @FXML private TextField rDestBox; @FXML - private TextField rDestIDBox; - @FXML - private TextField rCodeshareBox; + private ComboBox rCodeshareCBox; @FXML private TextField rStopsBox; @FXML @@ -66,18 +57,20 @@ public class RouteRDController extends MenuController { private Dataset theDataSet = null; public void loadTables() { - rAirlineCol.setCellValueFactory(new PropertyValueFactory("Airline")); - //rAirlineIDCol.setCellValueFactory(new PropertyValueFactory("AirlineID")); + rAirlineCol.setCellValueFactory(new PropertyValueFactory("AirlineName")); + rAirlineIDCol.setCellValueFactory(new PropertyValueFactory("AirlineID")); rSourceCol.setCellValueFactory(new PropertyValueFactory("DepartureAirport")); - //rSourceIDCol.setCellValueFactory(new PropertyValueFactory("SourceID")); + rSourceIDCol.setCellValueFactory(new PropertyValueFactory("SourceID")); rDestCol.setCellValueFactory(new PropertyValueFactory("ArrivalAirport")); - //rDestIDCol.setCellValueFactory(new PropertyValueFactory("DestID")); + 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() { @@ -86,14 +79,14 @@ public class RouteRDController extends MenuController { rAirlineBox.getText(), rSourceBox.getText(), rDestBox.getText(), - rCodeshareBox.getText(), + rCodeshareCBox.getSelectionModel().getSelectedItem().toString(), rStopsBox.getText(), rEquipmentBox.getText() ); rAirlineBox.clear(); rSourceBox.clear(); rDestBox.clear(); - rCodeshareBox.clear(); + rCodeshareCBox.getSelectionModel().clearSelection(); rStopsBox.clear(); rEquipmentBox.clear(); tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes())); diff --git a/src/main/resources/airline_raw_data.fxml b/src/main/resources/airline_raw_data.fxml index cd8311d..b5829d2 100644 --- a/src/main/resources/airline_raw_data.fxml +++ b/src/main/resources/airline_raw_data.fxml @@ -2,6 +2,7 @@ + @@ -36,55 +37,51 @@ - - - - - - - + + + + + + + - + - + - + - + - + - - - - - - + diff --git a/src/main/resources/airport_raw_data.fxml b/src/main/resources/airport_raw_data.fxml index 372ae3b..7db236d 100644 --- a/src/main/resources/airport_raw_data.fxml +++ b/src/main/resources/airport_raw_data.fxml @@ -2,6 +2,7 @@ + @@ -30,66 +31,62 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - @@ -100,18 +97,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/src/main/resources/route_raw_data.fxml b/src/main/resources/route_raw_data.fxml index 870dddb..22b41c0 100644 --- a/src/main/resources/route_raw_data.fxml +++ b/src/main/resources/route_raw_data.fxml @@ -2,6 +2,7 @@ + @@ -50,37 +51,33 @@ - + - + - + - + - - - - - - +