From 8027b701a077fda3101a6bcbe964f93e4088a241 Mon Sep 17 00:00:00 2001 From: YaFedImYaEatIm Date: Sat, 17 Sep 2016 14:39:52 +1200 Subject: [PATCH] Added Import UI --- res/userdb.db | Bin 4365312 -> 4368384 bytes .../java/seng202/group9/Controller/App.java | 43 ++--------- .../java/seng202/group9/GUI/Importer.java | 73 ++++++++++++++++++ .../seng202/group9/GUI/MenuController.java | 9 ++- 4 files changed, 86 insertions(+), 39 deletions(-) create mode 100644 src/main/java/seng202/group9/GUI/Importer.java diff --git a/res/userdb.db b/res/userdb.db index ed5ac185092a47a5197b56ba566f20f6e4e28c96..f4fd46339aa358e5e4eb86ca9b0d54280489929e 100644 GIT binary patch delta 2029 zcmY*ZYitzP6~2$%wZ~rX?08?ZFMHRov14$|!x)2&J>wTH#!#EKw%F1P_JSAIYqMTs zObM7)x`amp32kojBVebZG!cd-FuN(es+}}afuNSEv`QLiMH`79X(Oc~QX4gC@7gF; zN1D-@?|$by_ndR@nSSd8n!a-ao$;He0kFURe5e^tzwy+hBgda7V_XN%wybuZ{fDEl z5aUlkmVrOVkMJk>Z}=g#n+hLY&2xQ(3IQ-*ne*_k=X@9cy3aViCleVG84(#1*+gVB zku5~dA#yH}1tRAWIiJW@A{V4(8~W)H0GhyQfIq_@<9qlH{w01BU&KGe$MF$7f%o7Y zxEFWgMqG=_u#EH2ztCUNUGyvTb94!vLub%Yv>y$l0kjd-fYT_5MEE)U82$lZzSu>g(k4LAzzQh}u)RWPq7t#keY->atF6QibTu&yVQ+^Be+_Wi=gT(dS6N#7? z&`dn6NFV0wv4dlgw+uCBw@9LtsrbAVXFvRO;{aaYY3|+Y%O68 zgsmfNJzx+3e?qN~a=U4X)#A?7 zE=adwiT#xvjF9hL-@AO7F4~j6Np7EBw2OR2nTV!ca8Wpu_hHC)+P8#1=X(yn1h)E4 z`A#kJPWn#b8PG!i-LI9I@LNEpR#(8AX&TVBqg)<2*Y~XNSvunh3}s9a?F$Em3wa;X zyK974roB9H5}G(?m>yag=%>rZHHrQ{sja7D^}=#Grv&ZbmxdxURY^N3LwmR#a^)^mWYj~=+P^x*V1I{7l2AX4a;8o>dR_) zRoIvifS(h+9LsbJz8(K z)~oilDO-A5^@Kj8_tY9AT#a)*rJ}kk85^XZrnHjG!xuEKkekQb(gE)P8j4g;o_*zj zE2FQL8e!(nihv1bJ9U@7UlHi9EZ{r|Yyo%y{{Z*nm62H_v!W%x8~2LAyD zI7mZwv*M~u=Lw*?Kyr9IVxJx#*F!^*2n}CV-O}2$Ab^Ha$su{gZKER`p8cK2L$%jc zhov)}D}c@Pa=BbY_sx40DV@U`!*}ji#BasoJ13GIXbexN6eorK3>J)suQ+d~7tCqASj+0jVl&5Whk>ItSJ*N3BEosd6L#NNF zPWtwKt;*eyMgmyH#lwo&8yg(flSAX92?{5*3U_T9^1S$(;t{t-6H|JqEgI^k`ivU1 zG^c?8worXilj*B-YFWWb<4CsdlEYstZlTlX)yjIsI4po-?$1x)X0=D{RMf8CNYCcp z&aeJD_^t<|J(b4OOH79%cGDHJYLTnKIJA_t;uSaPiCxjD&_fFiMV6 zuedRKfX-f4gN04TK>;*ngDD(Lj_3*c+skT=)y!Mj%%>e60k2W(CHvv*0R9r1>=%rw K47u)3!T$p2jz}v2 delta 1195 zcmYjQYfM~46rP#0?1Nn{3*22Um!(}$V3krHWkFhAUF1iLF-;_xrfb6rg!0%$d59(r zplJ_<9}4BiG`^^5P@^Gj)$FZ06|6s`fQFccVA7^kYaj--X)wVi8VA(iBy;A>Ip243 z9y5cBBW&=>2pdg}=_kbb-k7(N_Fr!3OS0(e8i1dUR~4z__mdJG3^oWMF&E(hY;b3t z`rzYO*ImYceOfg;q&@jUo0RUe`YRf06g7q#pk_iX1~oHk7Syb$*-(o`&5oJ_wYaFJ zuuB84lQJ?w0O2HrAp~_W3s>Pon4pvN4LV9s(HCi$K1=KAVOl{h(_ESiH8hs|MSdf9 z$OZBp?1Aqg4IJz~y8~lvfn8;n*gI^Doo0Qo%G%j8><}wsg)D=qWSW`iCjFV-CL?r? zenBrnMv3Ky100ab;vt>Ywsv*C(Am-zYI09O39;2iI@{a%=$xXac7$4bBdsYU5wf>n z?H!>=llO^Gd$VTeFV87%J~^l4@gL`uY_82K&-1BSC7=H?tN6M9y3)ueuPbdlZBD86 z#X_w$uAmDBRm>Z&P5mbaZrtx+2XlrJDIy^GZb=q-}v)8aupLGDDO`dZSLW7YvGXHQ~O!%?UH4tA;c|6`fr$B$SV#@E$d{QXbZK^}J_uH3L5 zRjU|(@^kk`W=R^JID|nJgRW@MO@ljJ=j0A|sln#s`KH8r!}_UvkQ%SP8|b22}#mief*C11QQ+l%uFXQHi1|Dh`@XnnGlgaBnat zg{PmQALOpVIkG~QWhdma0Aspe_ivv?dXe-U(F^s$?R$Yln3WwyALBq4m!ZOi1Ry8}KR9gvx3_kOAU@h7cFnOG2wn|_cdY}aC><_kTgjN#D>CU4& LVXU4Fq}cujOD diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index a2a547b..1a8ffd3 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -32,7 +32,12 @@ public class App extends Application { launch(args); } - /** + + public Stage getPrimaryStage() { + return primaryStage; + } + + /** * Starts the application * @param primaryStage main "stage" of the program */ @@ -62,6 +67,7 @@ public class App extends Application e.printStackTrace(); } + /* AirlineFilter filter = new AirlineFilter(currentDataset.getAirlines()); filter.filterName("NZ"); @@ -119,40 +125,7 @@ public class App extends Application Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed()); controller.setApp(this); controller.load(); - controller.loadOnce();/* - if (session.getSceneDisplayed() == SceneCode.AIRLINE_RAW_DATA){ - Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed()); - controller.setApp(this); - controller.load(); - }else if (session.getSceneDisplayed() == SceneCode.AIRLINE_SUMMARY){ - Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed()); - controller.setApp(this); - controller.load(); - }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(); - }*/ + controller.loadOnce(); objectIn.close(); fileIn.close(); }catch(IOException e){ diff --git a/src/main/java/seng202/group9/GUI/Importer.java b/src/main/java/seng202/group9/GUI/Importer.java new file mode 100644 index 0000000..a16a9f4 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/Importer.java @@ -0,0 +1,73 @@ +package seng202.group9.GUI; + +import javafx.fxml.FXML; +import javafx.scene.Node; +import javafx.scene.control.Alert; +import javafx.stage.FileChooser; +import javafx.stage.Stage; +import seng202.group9.Controller.App; +import seng202.group9.Controller.DataException; +import seng202.group9.Controller.SceneCode; + +import javax.swing.*; +import java.awt.*; +import java.io.File; + +/** + * Created by fwy13 on 17/09/16. + */ +public class Importer{ + /** + * importer GUI for importing files. + */ + public Importer(SceneCode scene, App parent, Stage primaryStage){ + FileChooser chooser = new FileChooser(); + FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter( + "Text & .csv", "*.txt", "*.csv"); + chooser.getExtensionFilters().add(filter); + File file = chooser.showOpenDialog(primaryStage); + if (scene == SceneCode.AIRLINE_RAW_DATA){ + try { + showSuccessAlert(parent.getCurrentDataset().importAirline(file.getPath())); + } catch (DataException e) { + e.printStackTrace(); + } + }else if (scene == SceneCode.AIRPORT_RAW_DATA){ + try { + showSuccessAlert(parent.getCurrentDataset().importAirport(file.getPath())); + } catch (DataException e) { + e.printStackTrace(); + } + }else if (scene == SceneCode.ROUTE_RAW_DATA){ + try { + showSuccessAlert(parent.getCurrentDataset().importRoute(file.getPath())); + } catch (DataException e) { + e.printStackTrace(); + } + }else if (scene == SceneCode.FLIGHT_RAW_DATA){ + try { + showSuccessAlert(parent.getCurrentDataset().importFlight(file.getPath())); + } catch (DataException e) { + e.printStackTrace(); + } + } + + } + + public void showSuccessAlert(String message){ + Alert alert = new Alert(Alert.AlertType.INFORMATION); + alert.setTitle("Import File Success!"); + alert.setHeaderText("Your File has been Parsed."); + alert.setContentText(message); + alert.showAndWait(); + } + + public void showErrorAlert(String message){ + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setTitle("Import File Error"); + alert.setHeaderText("Your File has resulted in an error. This may be because of an invalid file format or a corrupted file."); + alert.setContentText(message); + alert.showAndWait(); + } + +} diff --git a/src/main/java/seng202/group9/GUI/MenuController.java b/src/main/java/seng202/group9/GUI/MenuController.java index 1f359ec..580a3c1 100644 --- a/src/main/java/seng202/group9/GUI/MenuController.java +++ b/src/main/java/seng202/group9/GUI/MenuController.java @@ -7,25 +7,26 @@ import javax.swing.JOptionPane; import javafx.fxml.Initializable; +import javafx.scene.control.Alert; import seng202.group9.Controller.App; import seng202.group9.Controller.SceneCode; public class MenuController extends Controller{ public void importAirports(){ - JOptionPane.showMessageDialog(null, "This is not Implemented yet"); + Importer importer = new Importer(SceneCode.AIRPORT_RAW_DATA, getParent(), getParent().getPrimaryStage()); } public void importAirlines(){ - JOptionPane.showMessageDialog(null, "This is not Implemented yet"); + Importer importer = new Importer(SceneCode.AIRLINE_RAW_DATA, getParent(), getParent().getPrimaryStage()); } public void importRoutes(){ - JOptionPane.showMessageDialog(null, "This is not Implemented yet"); + Importer importer = new Importer(SceneCode.ROUTE_RAW_DATA, getParent(), getParent().getPrimaryStage()); } public void importFlightData(){ - JOptionPane.showMessageDialog(null, "This is not Implemented yet"); + Importer importer = new Importer(SceneCode.FLIGHT_RAW_DATA, getParent(), getParent().getPrimaryStage()); } /**