diff --git a/res/userdb.db b/res/userdb.db index cc838b9..b513673 100644 Binary files a/res/userdb.db and b/res/userdb.db differ diff --git a/src/main/java/seng202/group9/Controller/AirlineParser.java b/src/main/java/seng202/group9/Controller/AirlineParser.java index 1fe1643..4a354b9 100644 --- a/src/main/java/seng202/group9/Controller/AirlineParser.java +++ b/src/main/java/seng202/group9/Controller/AirlineParser.java @@ -9,11 +9,11 @@ import java.util.ArrayList; public class AirlineParser extends Parser { String filePath = ""; - ObservableList parsedAirline; + ArrayList parsedAirline; public AirlineParser(String filePath){ this.filePath = filePath; - parsedAirline = FXCollections.observableArrayList(); + parsedAirline = new ArrayList(); } public String parse() throws DataException{ @@ -122,7 +122,7 @@ public class AirlineParser extends Parser { "Entries With Errors: %2$d", successful, error); } - public ObservableList getResult(){ + public ArrayList getResult(){ return parsedAirline; } diff --git a/src/main/java/seng202/group9/Controller/AirportParser.java b/src/main/java/seng202/group9/Controller/AirportParser.java index 3598adf..04c1b15 100644 --- a/src/main/java/seng202/group9/Controller/AirportParser.java +++ b/src/main/java/seng202/group9/Controller/AirportParser.java @@ -1,10 +1,14 @@ package seng202.group9.Controller; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import seng202.group9.Core.Airport; import seng202.group9.Core.City; import seng202.group9.Core.Country; +import javax.jws.Oneway; import java.io.*; +import java.lang.reflect.Array; import java.util.ArrayList; public class AirportParser extends Parser { diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index fd6bfbb..fdb4340 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -54,13 +54,13 @@ public class App extends Application e.printStackTrace(); } primaryStage.show(); - /* + //testing out dataset try { currentDataset = new Dataset("test's", Dataset.getExisting); }catch (DataException e){ e.printStackTrace(); - } + }/* //testing out airport parser try { System.out.println(currentDataset.importAirport("res/Samples/Airports.txt")); diff --git a/src/main/java/seng202/group9/Controller/Dataset.java b/src/main/java/seng202/group9/Controller/Dataset.java index 19c4056..0871d5e 100644 --- a/src/main/java/seng202/group9/Controller/Dataset.java +++ b/src/main/java/seng202/group9/Controller/Dataset.java @@ -1,6 +1,8 @@ package seng202.group9.Controller; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import seng202.group9.Core.*; import java.sql.Connection; @@ -13,7 +15,7 @@ import java.util.LinkedHashMap; public class Dataset { String name; - static boolean getExisting = true;//constructor variables for action + public static boolean getExisting = true;//constructor variables for action static boolean createNew = false;//constructor variables for action ArrayList airlines; ArrayList airports; diff --git a/src/main/java/seng202/group9/Core/Airport.java b/src/main/java/seng202/group9/Core/Airport.java index 5b0b9e5..f104bd7 100644 --- a/src/main/java/seng202/group9/Core/Airport.java +++ b/src/main/java/seng202/group9/Core/Airport.java @@ -195,9 +195,9 @@ public class Airport { * gets the IATA/FFA of the airport * @return IATA/FFA Code */ - public String IATA_FFA(){ - return IATA_FFA; - } +// public String IATA_FFA(){ +// return IATA_FFA; +// } /** * gets the altitude of the airport * @return Altitude of Airport @@ -292,6 +292,7 @@ public class Airport { /** * Information of the airport returned in String format. */ + @Override public String toString(){ return this.city+" Airport has ICAO: "+this.ICAO+", IATA/FFA: "+this.IATA_FFA+" and is located at ("+this.latitude+", "+this.longitude diff --git a/src/main/java/seng202/group9/GUI/AirlineRDController.java b/src/main/java/seng202/group9/GUI/AirlineRDController.java index 4baa7b1..84a3913 100644 --- a/src/main/java/seng202/group9/GUI/AirlineRDController.java +++ b/src/main/java/seng202/group9/GUI/AirlineRDController.java @@ -1,23 +1,19 @@ package seng202.group9.GUI; +import javafx.collections.FXCollections; import javafx.fxml.FXML; -import javafx.fxml.Initializable; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.TextField; import javafx.scene.control.cell.PropertyValueFactory; -import seng202.group9.Controller.DataException; +import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; import seng202.group9.Core.Airline; -import java.net.URL; -import java.util.ResourceBundle; - - /** * Created by Sunguin on 2016/09/13. */ -public class AirlineRDController extends MenuController implements Initializable{ +public class AirlineRDController extends MenuController { @FXML private TableView tableView; @@ -57,13 +53,13 @@ public class AirlineRDController extends MenuController implements Initializable private Dataset theDataSet = null; - public AirlineRDController(){ + App parent; + + public void setApp(App parent){ + this.parent = parent; } - //Initializes the table. - //Uses dummy data since I have no idea how the data is connected together. - @Override - public void initialize(URL url, ResourceBundle rb) { + public void loadTables() { airlIDcol.setCellValueFactory(new PropertyValueFactory("ID")); airlNamecol.setCellValueFactory(new PropertyValueFactory("Name")); airlAliascol.setCellValueFactory(new PropertyValueFactory("Alias")); @@ -73,17 +69,13 @@ public class AirlineRDController extends MenuController implements Initializable airlCountrycol.setCellValueFactory(new PropertyValueFactory("Country")); airlActivecol.setCellValueFactory(new PropertyValueFactory("Active")); - try { - theDataSet = new Dataset("test's", Dataset.getExisting); - }catch (DataException e){ - e.printStackTrace(); - } - try{ - System.out.println(theDataSet.importAirline("res/Samples/Airlines.txt")); - } catch (DataException e){ - e.printStackTrace(); - } - tableView.setItems(theDataSet.getAirlines()); + theDataSet = this.parent.getCurrentDataset(); +// try{ +// System.out.println(theDataSet.importAirline("res/Samples/Airlines.txt")); +// } catch (DataException e){ +// e.printStackTrace(); +// } + tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); } //Dummy function to test the add button. diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index 60e6ec7..d65768e 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -1,12 +1,98 @@ package seng202.group9.GUI; -import javafx.fxml.Initializable; +import javafx.beans.InvalidationListener; +import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.control.TableCell; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.PropertyValueFactory; +import javafx.util.Callback; +import seng202.group9.Controller.App; +import seng202.group9.Controller.Dataset; +import seng202.group9.Core.Airport; +import seng202.group9.Core.City; +import seng202.group9.Core.Country; + /** * Created by Sunguin on 2016/09/13. */ -public class AirportRDController extends MenuController implements Initializable { +public class AirportRDController extends MenuController{ + + @FXML + private TableView tableViewAirportRD; + @FXML + private TableColumn airpIDcol; + @FXML + private TableColumn airpNamecol; + @FXML + private TableColumn airpCitycol; + @FXML + private TableColumn airpCountrycol; + @FXML + private TableColumn airpIATAFFAcol; + @FXML + private TableColumn airpICAOcol; + @FXML + private TableColumn airpLatitudecol; + @FXML + private TableColumn airpLongitudecol; + @FXML + private TableColumn airpAltitudecol; + @FXML + private TableColumn airpTimezonecol; + @FXML + private TableColumn airpDSTcol; + @FXML + private TableColumn airpTzcol; + + private Dataset theDataSet = null; + + App parent; + + public void setApp(App parent){ + this.parent = parent; + } + + public void loadTables() { + theDataSet = this.parent.getCurrentDataset(); + + airpIDcol.setCellValueFactory(new PropertyValueFactory("ID")); + airpNamecol.setCellValueFactory(new PropertyValueFactory("Name")); + airpCitycol.setCellValueFactory(new PropertyValueFactory("City")); + airpCountrycol.setCellValueFactory(new PropertyValueFactory("Country")); + 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")); - public AirportRDController(){ +// airpTimezonecol.setCellFactory(new Callback, TableCell>() { +// +// @Override +// public TableCell call(TableColumn param) { +// TableCell timeZoneCell = new TableCell() { +// @Override +// protected void updateItem(City timezone, boolean empty) { +// if (timezone != null) { +// Label timeZoneLabel = new Label(timezone.getTimeOlson()); +// setGraphic(timeZoneLabel); +// } +// } +// }; +// +// return timeZoneCell; +// } +// }); + + tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports())); } + } diff --git a/src/main/java/seng202/group9/GUI/MenuController.java b/src/main/java/seng202/group9/GUI/MenuController.java index e03297b..f947e9f 100644 --- a/src/main/java/seng202/group9/GUI/MenuController.java +++ b/src/main/java/seng202/group9/GUI/MenuController.java @@ -37,8 +37,29 @@ public class MenuController implements Initializable{ */ public void viewAirlineRawData() { try { - parent.replaceSceneContent("menu.fxml"); - System.out.println("Loaded Airline Raw Data."); + AirlineRDController summaryController = (AirlineRDController) parent.replaceSceneContent("airline_raw_data.fxml"); + summaryController.setApp(parent); + summaryController.loadTables(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void viewAirportRawData() { + try { + AirportRDController summaryController = (AirportRDController) parent.replaceSceneContent("airport_raw_data.fxml"); + summaryController.setApp(parent); + summaryController.loadTables(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void viewRouteRawData() { + try { + RouteRDController summaryController = (RouteRDController) parent.replaceSceneContent("route_raw_data.fxml"); + summaryController.setApp(parent); + //summaryController.loadTables(); } catch (Exception e) { e.printStackTrace(); } @@ -74,6 +95,7 @@ public class MenuController implements Initializable{ } + public void initialize(URL arg0, ResourceBundle arg1) { // TODO Auto-generated method stub diff --git a/src/main/java/seng202/group9/GUI/RouteRDController.java b/src/main/java/seng202/group9/GUI/RouteRDController.java new file mode 100644 index 0000000..1475062 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/RouteRDController.java @@ -0,0 +1,14 @@ +package seng202.group9.GUI; + +import seng202.group9.Controller.App; + +/** + * Created by Sunguin on 2016/09/14. + */ +public class RouteRDController extends MenuController { + App parent; + + public void setApp(App parent){ + this.parent = parent; + } +} diff --git a/src/main/resources/airline_raw_data.fxml b/src/main/resources/airline_raw_data.fxml index 13e3f9f..7a259b3 100644 --- a/src/main/resources/airline_raw_data.fxml +++ b/src/main/resources/airline_raw_data.fxml @@ -3,7 +3,6 @@ - @@ -14,7 +13,7 @@ - + @@ -31,12 +30,11 @@ - -