From a386d28ea16ced3dba23f628375cafa4a502c5d2 Mon Sep 17 00:00:00 2001 From: Sunguin Peng Date: Sat, 24 Sep 2016 15:17:18 +1200 Subject: [PATCH] Made edit function work for airlines --- res/userdb.db | Bin 8387584 -> 8387584 bytes .../seng202/group9/Controller/Dataset.java | 4 +-- .../group9/GUI/AirlineEditController.java | 26 ++++++++++++++++-- .../group9/GUI/AirlineRDController.java | 20 ++++++++++---- 4 files changed, 40 insertions(+), 10 deletions(-) diff --git a/res/userdb.db b/res/userdb.db index 451f4e6311427901a66b9a9347a3e6bcc0c9ad20..b90d49163362a116c29e748197e06f9f1176751e 100644 GIT binary patch delta 742 zcmXZXO;b`~7{>8)&SM!V5}gc4Nisz#i?sLm2&^ z(86J%HO|DRaNo0Ns_{#(tG`Y6%dBT0+?$|)6e;^bK#gf@X zGLa61K5Y6|H~l&c2vlGX_M#H|V8MP=p&C}yz=i{*O~1Wwy&|ENwSuR*C0khjZqHOj z9nnf*7>4z_q;g8-lIn<5byC$!<(BHGR1H#jq&g;5qg2PG zYLcp1Dz8*6Qnh|lzKY6vi@vRiHRGqTZY&vHMyp=dw?#&T^`c%Z**_0`(o4nPzMQVd z3*H@{H`KThwP@}-tJT_I8%ZuqCgxL_Y%(=EHaqvf#uoP2=mM&X7m7a_C z^mfM5=|CW{n&0u^1Wuw2r*Im6oIyJ}a2Drq9v5&Cmv9+Za23~Z9XD_jw-CT>1Q9|f z?%*!&p$px(k1!&Lq6fWrfQN`7jz08b0FN+;$9RIL7{W6=$1rw(9Kj1Dk-{j(FpddK m;w4^T3a>GZ8N9(P(wM_MGRWdB7Vr)^EaE+uO8K4T8RuVSYE91o delta 655 zcmWm9%T7~a7=_{Py{mv&Ypq(aAfi~QqWlVYRuu4nt$4yy6$R~Xu^tMgx%^=VQzfQaOpTZgVrs=~6cZ4$NlZ}8<|PyIFO>YFsUM}E zze8=ciAbW#vF%7Qk`xVzZV?TOZWY}ox?MCPS|?gBxK}CbeCwe=x)(H zqAj9(MPs7-L|d0M?yqX7ww8U)y#3c+uxIRkyVY8;mYuw{xR!G0%g|@5y!bCZWm)-B ztP+p)WzqxAFJF%@-W&)7+Jj!&&14J3Oxm3o@y5MO)-4p9z9wsY(R%jApzCD{+2W+@ z(O!q=b{4vd*-vwoIQHWJ+Hequ&<=ycID!szq6 diff --git a/src/main/java/seng202/group9/Controller/Dataset.java b/src/main/java/seng202/group9/Controller/Dataset.java index 2f21011..c378c41 100644 --- a/src/main/java/seng202/group9/Controller/Dataset.java +++ b/src/main/java/seng202/group9/Controller/Dataset.java @@ -1744,7 +1744,7 @@ public class Dataset { EntryParser parser = new EntryParser(); parser.parseAirline(name, alias, IATA,ICAO, callsign, country, active); airline.setName(name); - airline.setAlias(name); + airline.setAlias(alias); airline.setIATA(IATA); airline.setICAO(ICAO); airline.setCallSign(callsign); @@ -1756,7 +1756,7 @@ public class Dataset { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db"); stmt = c.createStatement(); - String query = "UPDATE `"+this.name+"_Airline` SET `Name` = \""+airline.getName().replace("\"", "\"\"")+"\", `Alias` = \""+airline.getActive().replace("\"", "\"\"")+"\", " + + String query = "UPDATE `"+this.name+"_Airline` SET `Name` = \""+airline.getName().replace("\"", "\"\"")+"\", `Alias` = \""+airline.getAlias().replace("\"", "\"\"")+"\", " + "`IATA` = \""+airline.getIATA().replace("\"", "\"\"")+"\", `ICAO` = \""+airline.getICAO().replace("\"", "\"\"")+"\" , `Callsign` = \""+airline.getCallSign().replace("\"", "\"\"")+"\", " + "`Country` = \""+airline.getCountryName().replace("\"", "\"\"")+"\", `Active` = \""+airline.getActive().replace("\"", "\"\"")+"\" WHERE `Airline_ID` = "+airline.getID(); stmt.execute(query); diff --git a/src/main/java/seng202/group9/GUI/AirlineEditController.java b/src/main/java/seng202/group9/GUI/AirlineEditController.java index 1d4de89..508b86f 100644 --- a/src/main/java/seng202/group9/GUI/AirlineEditController.java +++ b/src/main/java/seng202/group9/GUI/AirlineEditController.java @@ -1,12 +1,18 @@ 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.Session; import seng202.group9.Core.Airline; +import java.util.ArrayList; +import java.util.HashMap; + /** * Created by Sunguin on 2016/09/24. */ @@ -32,7 +38,24 @@ public class AirlineEditController extends Controller { private Dataset theDataSet = null; private Session currentSession = null; + private Airline toEdit = null; + public void editAirline() { + try { + theDataSet.editAirline(toEdit, airlNameEdit.getText(), airlAliasEdit.getText(), airlIATAEdit.getText(), + airlICAOEdit.getText(), airlCallsignEdit.getText(), airlCountryEdit.getText(), airlActiveEdit.getText()); + + Alert alert = new Alert(Alert.AlertType.INFORMATION); + alert.setTitle("Airline Edit Successful"); + alert.setHeaderText("Airline data edited!"); + alert.setContentText("Your airline data has been successfully edited."); + alert.showAndWait(); + + Stage stage = (Stage) applyButton.getScene().getWindow(); + stage.close(); + } catch (DataException e) { + System.err.println("Harambe: " + e.getMessage()); + } } @@ -40,8 +63,7 @@ public class AirlineEditController extends Controller { theDataSet = getParent().getCurrentDataset(); currentSession = getParent().getSession(); - //System.out.println(currentSession.getAirlineToEdit()); - Airline toEdit = theDataSet.getAirlineDictionary().get(currentSession.getAirlineToEdit()); + toEdit = theDataSet.getAirlineDictionary().get(currentSession.getAirlineToEdit()); airlNameEdit.setText(toEdit.getName()); airlAliasEdit.setText(toEdit.getAlias()); diff --git a/src/main/java/seng202/group9/GUI/AirlineRDController.java b/src/main/java/seng202/group9/GUI/AirlineRDController.java index 73cc207..d2415bc 100644 --- a/src/main/java/seng202/group9/GUI/AirlineRDController.java +++ b/src/main/java/seng202/group9/GUI/AirlineRDController.java @@ -81,14 +81,17 @@ public class AirlineRDController extends Controller { */ public void openFilter() { createPopUpStage(SceneCode.AIRLINE_FILTER, 600, 370); - ArrayList d = new ArrayList(); - for(int i = 0; i < theDataSet.getAirlines().size(); i++) { - if (currentSession.getFilteredAirlines().containsValue(theDataSet.getAirlines().get(i).getName()) - && currentSession.getFilteredAirlines().containsKey(i)) { - d.add(theDataSet.getAirlines().get(i)); + + if (currentSession.getFilteredAirlines() != null) { + ArrayList d = new ArrayList(); + for (int i = 0; i < theDataSet.getAirlines().size(); i++) { + if (currentSession.getFilteredAirlines().containsValue(theDataSet.getAirlines().get(i).getName()) + && currentSession.getFilteredAirlines().containsKey(i)) { + d.add(theDataSet.getAirlines().get(i)); + } } + tableViewAirlineRD.setItems(FXCollections.observableArrayList(d)); } - tableViewAirlineRD.setItems(FXCollections.observableArrayList(d)); } @@ -119,6 +122,11 @@ public class AirlineRDController extends Controller { Airline toEdit = tableViewAirlineRD.getSelectionModel().getSelectedItem(); currentSession.setAirlineToEdit(toEdit.getName()); createPopUpStage(SceneCode.AIRLINE_EDIT, 600, 370); + + System.out.println(toEdit.getName() + "," + toEdit.getAlias() + "," + toEdit.getIATA() + "," + toEdit.getICAO() + + "," + toEdit.getCallSign() + "," + toEdit.getCountryName() + "," + toEdit.getActive()); + + tableViewAirlineRD.refresh(); } /**