From 960de7747672b571169979075237beece4c5c2b3 Mon Sep 17 00:00:00 2001 From: Sunguin Peng Date: Sat, 24 Sep 2016 17:44:13 +1200 Subject: [PATCH] Did rd for airport and route --- res/userdb.db | Bin 8387584 -> 8387584 bytes .../seng202/group9/Controller/Dataset.java | 5 +- .../seng202/group9/Controller/SceneCode.java | 3 +- .../seng202/group9/Controller/Session.java | 18 +++ .../group9/GUI/AirlineEditController.java | 7 +- .../group9/GUI/AirportAddController.java | 3 +- .../group9/GUI/AirportEditController.java | 92 ++++++++++++++ .../group9/GUI/AirportRDController.java | 27 +++-- .../group9/GUI/RouteEditController.java | 73 +++++++++++ .../seng202/group9/GUI/RouteRDController.java | 26 +++- src/main/resources/airport_edit_form.fxml | 113 ++++++++++++++++++ src/main/resources/airport_raw_data.fxml | 1 + src/main/resources/route_edit_form.fxml | 78 ++++++++++++ src/main/resources/route_raw_data.fxml | 1 + 14 files changed, 428 insertions(+), 19 deletions(-) create mode 100644 src/main/java/seng202/group9/GUI/AirportEditController.java create mode 100644 src/main/java/seng202/group9/GUI/RouteEditController.java create mode 100644 src/main/resources/airport_edit_form.fxml create mode 100644 src/main/resources/route_edit_form.fxml diff --git a/res/userdb.db b/res/userdb.db index b90d49163362a116c29e748197e06f9f1176751e..fbc27185bd10a0ac2344ccdda676e96947037e14 100644 GIT binary patch delta 1256 zcmY+?eN5D4902g=<%hom?&N;m@gjE|FJc}6#hYTF2?q-Kf|#PjOB@Emp}_%1Xkpse zzSkesY*J5u==#o)%xZ3>^Ou=5S95B$vBl~bXS3B zzAw*-M@#YqIq968NHqU-y->{49oZ0Wxdj%g?Kd0!& z6XIpEh@IssG5x9fq+KSmJEmTwFUs^pUd;FiFP2}+aoHesaZ|h{_6sY&Zh8uI2Uk0b z^pocGLcK;9I-h4UM@)+`QO4)xC8@H52^-C<$@X`-xvfAS<*Gejp9*Vb`jl2?@uw%s zLMH!~zsMiuR}$rz?3W#Kr>vBPrZL%`Bv&TBJ}6yD|5e&#Rw~P_H)Jutr1Y%#Zow~^ z)RlUkV?U!yAv|Y2XQ}h2m*XZ+6HVe+EY4WSSO`b5tI-3#H-ddkN zWB1LEt{K@bbzp;5sP0CLI9Zok2eSsuJ_fUn%d^hJCH}*yD(7u=^N$3(IUh;>Q|LPw z}NfyZ_Ib=1-C2PpzW^`_C{zP0ll|7`aL2o4= z3D*a`W_>X4%7BH@W%73>mC>9WiH&4QWM*8bi(f@ps$sL)GLlBSyABSuHFO^w>Itno zy53y+E$@!ijGlITz3N^_Vg!6J}DrDJahSR$WrmGyS@3N66?3YZlAdPnhTV@^ebKC4r{&l){_p1$R$5%2^gvMRL@ z^yO;ubC#y8=iRH!O@qEx5$lu1bI5Z@;m2i0e58m;%Lu^aAYRq%n&P@As0 z{p!Q3?p9TF-fg)Y@@ZbJSR7$0%euBJmX0Q3??6+b8?=#rnNg81+|7VKz#70>z%77V z0qX$k0iOlj2Dlw?2jEV?2Ebi_jexrWp99;U-`2kgRVvS+c645Hg$CLFEIYJ1?+Hx z7pO~oC~9^!(S!#Umc`%<2{(H%*^7VX#IX1RS&d6f7Lz@Qh9$(P_ytXfFP@vvIlp^y z?mg$+^Sd)UyKDyH2GtZHIlF|U7zxqbo;O$1sn7cSLUBM~%)&*y;fN`G*%k~91&6&l zr@;NEb95vW$^L%jH$kmeu^A!|J7Z7TJ$7^D(D4ygPWFq!q)rnuikO0A2x)@Os4nXY zUiId-b+@&+dK?#e94?2;GwJrY!#2mtrzPFrF7ZQlewL@RJU7d;SsroHET4Rvm!&W9 zTTT2Dua{|-__&jo_a3kUmwcO5W69hsn$iNqFhWCSAq%-fm)KqHGlT!t7$5sAJSfWlBTjp>=qkgb&PUr+#=V{m2!+e z7LRUgo{4pFSY7H&A7P3R+x@KMT-jZ}qopZl! z*R{`Wrp;|0p4${wH`7yh>7(}=(!UYE{y9Y>J=@U!!pY7PLf1aG#}ZGpa0GOqhYZLB z17v{_vLOd@ArJDQ01BZ9j!KCqrsDUL3`m=CQ8{X^rPpIkqh_gT)N+3$hvgFmT_bFs z`;oiD-Qb!zGu@$UY=X7XyY#M@SEIdoa4Pd1s)F3*Rt3q^s#GduM|p*{vZ}h~ROw#O z)c8;7mFl-O-E^9LN4iLk5hIJ$K2O*mh=e==e<yJh=n98zHh1so<$47v zD@zkp26d;`9~2i~Xik(NRmw?$2@jamlODG>JUH$P1;)nk-muRf2}K9SgL`v?5eINH zDDD1a`9UcqvMhz{T}MJnY+K9)OyF8Y**kiZm>(A`2Os1hn(t7?S~HJ9F&u{za1u(O z6w06+D!>YrPzBXc1E=6L)WS filteredRoutes; private String airlineToEdit; + private String airportToEdit; + private String routeToEdit; /** @@ -83,4 +85,20 @@ public class Session implements Serializable { public String getAirlineToEdit() { return airlineToEdit; } + + public String getAirportToEdit() { + return airportToEdit; + } + + public void setAirportToEdit(String airport) { + this.airportToEdit = airport; + } + + public String getRouteToEdit() { + return routeToEdit; + } + + public void setRouteToEdit(String route) { + this.routeToEdit = route; + } } diff --git a/src/main/java/seng202/group9/GUI/AirlineEditController.java b/src/main/java/seng202/group9/GUI/AirlineEditController.java index 508b86f..8737858 100644 --- a/src/main/java/seng202/group9/GUI/AirlineEditController.java +++ b/src/main/java/seng202/group9/GUI/AirlineEditController.java @@ -7,6 +7,7 @@ import javafx.scene.control.TextField; import javafx.stage.Stage; import seng202.group9.Controller.DataException; import seng202.group9.Controller.Dataset; +import seng202.group9.Controller.EntryParser; import seng202.group9.Controller.Session; import seng202.group9.Core.Airline; @@ -42,6 +43,9 @@ public class AirlineEditController extends Controller { public void editAirline() { try { + EntryParser parser = new EntryParser(); + parser.parseAirline(airlNameEdit.getText(), airlAliasEdit.getText(), airlIATAEdit.getText(), + airlICAOEdit.getText(), airlCallsignEdit.getText(), airlCountryEdit.getText(), airlActiveEdit.getText()); theDataSet.editAirline(toEdit, airlNameEdit.getText(), airlAliasEdit.getText(), airlIATAEdit.getText(), airlICAOEdit.getText(), airlCallsignEdit.getText(), airlCountryEdit.getText(), airlActiveEdit.getText()); @@ -54,9 +58,8 @@ public class AirlineEditController extends Controller { Stage stage = (Stage) applyButton.getScene().getWindow(); stage.close(); } catch (DataException e) { - System.err.println("Harambe: " + e.getMessage()); + System.err.println("RIP Harambe: " + e.getMessage() + "IT WAS TOO SOON"); } - } public void load() { diff --git a/src/main/java/seng202/group9/GUI/AirportAddController.java b/src/main/java/seng202/group9/GUI/AirportAddController.java index 30f29bf..cf0514b 100644 --- a/src/main/java/seng202/group9/GUI/AirportAddController.java +++ b/src/main/java/seng202/group9/GUI/AirportAddController.java @@ -3,6 +3,7 @@ package seng202.group9.GUI; import javafx.collections.FXCollections; import javafx.fxml.FXML; import javafx.scene.control.Alert; +import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.control.TextField; import javafx.stage.Stage; @@ -37,7 +38,7 @@ public class AirportAddController extends Controller { @FXML private TextField airpTzAdd; @FXML - private TextField addButton; + private Button addButton; //Set an empty Dataset to be assigned later private Dataset theDataSet = null; diff --git a/src/main/java/seng202/group9/GUI/AirportEditController.java b/src/main/java/seng202/group9/GUI/AirportEditController.java new file mode 100644 index 0000000..98a02ff --- /dev/null +++ b/src/main/java/seng202/group9/GUI/AirportEditController.java @@ -0,0 +1,92 @@ +package seng202.group9.GUI; + +import javafx.fxml.FXML; +import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.stage.Stage; +import seng202.group9.Controller.DataException; +import seng202.group9.Controller.Dataset; +import seng202.group9.Controller.EntryParser; +import seng202.group9.Controller.Session; +import seng202.group9.Core.Airport; + +/** + * Created by Sunguin on 2016/09/24. + */ +public class AirportEditController extends Controller { + //Setting up text fields for adding data + @FXML + private TextField airpNameEdit; + @FXML + private TextField airpCityEdit; + @FXML + private TextField airpCountryEdit; + @FXML + private TextField airpIATAFAAEdit; + @FXML + private TextField airpICAOEdit; + @FXML + private TextField airpLatitudeEdit; + @FXML + private TextField airpLongitudeEdit; + @FXML + private TextField airpAltitudeEdit; + @FXML + private TextField airpTimezoneEdit; + @FXML + private TextField airpDSTEdit; + @FXML + private TextField airpTzEdit; + @FXML + private Button editButton; + + //Set an empty Dataset to be assigned later + private Dataset theDataSet = null; + + private Session currentSession = null; + + private Airport toEdit = null; + + public void editAirport() { + try { + EntryParser parser = new EntryParser(); + parser.parseAirport(airpNameEdit.getText(), airpCityEdit.getText(), airpCountryEdit.getText(), airpIATAFAAEdit.getText(), + airpICAOEdit.getText(), airpLatitudeEdit.getText(), airpLongitudeEdit.getText(), airpAltitudeEdit.getText(), + airpTimezoneEdit.getText(), airpDSTEdit.getText(), airpTzEdit.getText()); + theDataSet.editAirport(toEdit, airpNameEdit.getText(), airpCityEdit.getText(), airpCountryEdit.getText(), airpIATAFAAEdit.getText(), + airpICAOEdit.getText(), airpLatitudeEdit.getText(), airpLongitudeEdit.getText(), airpAltitudeEdit.getText(), + airpTimezoneEdit.getText(), airpDSTEdit.getText(), airpTzEdit.getText()); + + Alert alert = new Alert(Alert.AlertType.INFORMATION); + alert.setTitle("Airport Edit Successful"); + alert.setHeaderText("Airport data edited!"); + alert.setContentText("Your airport data has been successfully edited."); + alert.showAndWait(); + + Stage stage = (Stage) editButton.getScene().getWindow(); + stage.close(); + } catch (DataException e) { + System.err.println("RIP Harambe: " + e.getMessage() + "IT WAS TOO SOON"); + } + } + + public void load() { + theDataSet = getParent().getCurrentDataset(); + currentSession = getParent().getSession(); + + toEdit = theDataSet.getAirportDictionary().get(currentSession.getAirportToEdit()); + + airpNameEdit.setText(toEdit.getName()); + airpCityEdit.setText(toEdit.getCityName()); + airpCountryEdit.setText(toEdit.getCountryName()); + airpIATAFAAEdit.setText(toEdit.getIATA_FFA()); + airpICAOEdit.setText(toEdit.getICAO()); + airpLatitudeEdit.setText(Double.toString(toEdit.getLatitude())); + airpLongitudeEdit.setText(Double.toString(toEdit.getLongitude())); + airpAltitudeEdit.setText(Double.toString(toEdit.getAltitude())); + airpTimezoneEdit.setText(Double.toString(toEdit.getTimezone())); + airpDSTEdit.setText(toEdit.getDST()); + airpTzEdit.setText(toEdit.getTz()); + } +} diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index c0f3651..dfd1bf7 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -5,7 +5,6 @@ import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; -import seng202.group9.Controller.AirportFilter; import seng202.group9.Controller.Dataset; import seng202.group9.Controller.SceneCode; import seng202.group9.Controller.Session; @@ -89,14 +88,17 @@ public class AirportRDController extends Controller{ public void openFilter() { createPopUpStage(SceneCode.AIRPORT_FILTER, 600, 480); - ArrayList d = new ArrayList(); - for(int i = 0; i < theDataSet.getAirports().size(); i++) { - if (currentSession.getFilteredAirports().containsValue(theDataSet.getAirports().get(i).getName()) - && currentSession.getFilteredAirports().containsKey(i)) { - d.add(theDataSet.getAirports().get(i)); + + if (currentSession.getFilteredAirports() != null) { + ArrayList d = new ArrayList(); + for (int i = 0; i < theDataSet.getAirports().size(); i++) { + if (currentSession.getFilteredAirports().containsValue(theDataSet.getAirports().get(i).getName()) + && currentSession.getFilteredAirports().containsKey(i)) { + d.add(theDataSet.getAirports().get(i)); + } } + tableViewAirportRD.setItems(FXCollections.observableArrayList(d)); } - tableViewAirportRD.setItems(FXCollections.observableArrayList(d)); } /** @@ -127,6 +129,17 @@ public class AirportRDController extends Controller{ } } + public void editAirport() { + Airport toEdit = tableViewAirportRD.getSelectionModel().getSelectedItem(); + currentSession.setAirportToEdit(toEdit.getName()); + createPopUpStage(SceneCode.AIRPORT_EDIT, 600, 480); + +// System.out.println(toEdit.getName() + "," + toEdit.getCity() + "," + toEdit.getCountry() + "," + toEdit.getIATA_FFA() +// + "," + toEdit.getICAO() + "," + toEdit.getLatitude() + "," + toEdit.getLongitude() + "," + toEdit.getAltitude() +// + "," + toEdit.getTimezone() + "," + toEdit.getDST() + "," + toEdit.getTz()); + + tableViewAirportRD.refresh(); + } /** * Analyses the current data and creates a graph based on the data. diff --git a/src/main/java/seng202/group9/GUI/RouteEditController.java b/src/main/java/seng202/group9/GUI/RouteEditController.java new file mode 100644 index 0000000..2aa264b --- /dev/null +++ b/src/main/java/seng202/group9/GUI/RouteEditController.java @@ -0,0 +1,73 @@ +package seng202.group9.GUI; + +import javafx.fxml.FXML; +import javafx.scene.control.Alert; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.stage.Stage; +import seng202.group9.Controller.DataException; +import seng202.group9.Controller.Dataset; +import seng202.group9.Controller.EntryParser; +import seng202.group9.Controller.Session; +import seng202.group9.Core.Route; + +/** + * Created by Sunguin on 2016/09/24. + */ +public class RouteEditController extends Controller { + @FXML + private TextField rAirlineEdit; + @FXML + private TextField rSourceEdit; + @FXML + private TextField rDestEdit; + @FXML + private TextField rCodeshareEdit; + @FXML + private TextField rStopsEdit; + @FXML + private TextField rEquipmentEdit; + @FXML + private Button editButton; + + private Dataset theDataSet = null; + + private Session currentSession = null; + + private Route toEdit = null; + + public void editRoute() { + try { + EntryParser parser = new EntryParser(); + parser.parseRoute(rAirlineEdit.getText(), rSourceEdit.getText(), rDestEdit.getText(), rCodeshareEdit.getText(), + rStopsEdit.getText(), rEquipmentEdit.getText()); + theDataSet.editRoute(toEdit, rAirlineEdit.getText(), rSourceEdit.getText(), rDestEdit.getText(), rCodeshareEdit.getText(), + rStopsEdit.getText(), rEquipmentEdit.getText()); + + Alert alert = new Alert(Alert.AlertType.INFORMATION); + alert.setTitle("Route Edit Successful"); + alert.setHeaderText("Route data edited!"); + alert.setContentText("Your route data has been successfully edited."); + alert.showAndWait(); + + Stage stage = (Stage) editButton.getScene().getWindow(); + stage.close(); + } catch (DataException e) { + System.err.println("RIP Harambe: " + e.getMessage() + "IT WAS TOO SOON"); + } + } + + public void load() { + theDataSet = getParent().getCurrentDataset(); + currentSession = getParent().getSession(); + + toEdit = theDataSet.getRouteDictionary().get(currentSession.getRouteToEdit()); + + rAirlineEdit.setText(toEdit.getAirlineName()); + rSourceEdit.setText(toEdit.getDepartureAirport()); + rDestEdit.setText(toEdit.getArrivalAirport()); + rCodeshareEdit.setText(toEdit.getCode()); + rStopsEdit.setText(Integer.toString(toEdit.getStops())); + rEquipmentEdit.setText(toEdit.getEquipment()); + } +} diff --git a/src/main/java/seng202/group9/GUI/RouteRDController.java b/src/main/java/seng202/group9/GUI/RouteRDController.java index 45b1b29..69b20c6 100644 --- a/src/main/java/seng202/group9/GUI/RouteRDController.java +++ b/src/main/java/seng202/group9/GUI/RouteRDController.java @@ -78,14 +78,16 @@ public class RouteRDController extends Controller { public void openFilter() { createPopUpStage(SceneCode.ROUTE_FILTER, 600, 330); - ArrayList d = new ArrayList(); - for(int i = 0; i < theDataSet.getRoutes().size(); i++) { - if (currentSession.getFilteredRoutes().containsValue(theDataSet.getRoutes().get(i).getAirlineName()) - && currentSession.getFilteredRoutes().containsKey(i)) { - d.add(theDataSet.getRoutes().get(i)); + if (currentSession.getFilteredRoutes() != null) { + ArrayList d = new ArrayList(); + for (int i = 0; i < theDataSet.getRoutes().size(); i++) { + if (currentSession.getFilteredRoutes().containsValue(theDataSet.getRoutes().get(i).getAirlineName()) + && currentSession.getFilteredRoutes().containsKey(i)) { + d.add(theDataSet.getRoutes().get(i)); + } } + tableViewRouteRD.setItems(FXCollections.observableArrayList(d)); } - tableViewRouteRD.setItems(FXCollections.observableArrayList(d)); } /** @@ -112,6 +114,18 @@ public class RouteRDController extends Controller { } } + public void editRoute() { + Route toEdit = tableViewRouteRD.getSelectionModel().getSelectedItem(); + currentSession.setRouteToEdit(toEdit.getAirlineName() + toEdit.getDepartureAirport() + toEdit.getArrivalAirport() + + toEdit.getCode() + toEdit.getStops() + toEdit.getEquipment()); + createPopUpStage(SceneCode.ROUTE_EDIT, 600, 330); + +// System.out.println(toEdit.getName() + "," + toEdit.getCity() + "," + toEdit.getCountry() + "," + toEdit.getIATA_FFA() +// + "," + toEdit.getICAO() + "," + toEdit.getLatitude() + "," + toEdit.getLongitude() + "," + toEdit.getAltitude() +// + "," + toEdit.getTimezone() + "," + toEdit.getDST() + "," + toEdit.getTz()); + + tableViewRouteRD.refresh(); + } /** * Analyses the current data and creates a graph based on the data. diff --git a/src/main/resources/airport_edit_form.fxml b/src/main/resources/airport_edit_form.fxml new file mode 100644 index 0000000..2531b03 --- /dev/null +++ b/src/main/resources/airport_edit_form.fxml @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +