# Conflicts:
#	res/userdb.db
main
Liam Beckett 9 years ago
commit 25fcc8cf94

Binary file not shown.

@ -0,0 +1,131 @@
package seng202.group9.Controller;
import seng202.group9.Core.Airline;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public class AirlineFilter extends Filter{
private ArrayList<Airline> baseArray;
private ArrayList<Airline> filteredList;
public AirlineFilter(ArrayList<Airline> baseList){
filteredList = new ArrayList<Airline>();
baseArray = new ArrayList<Airline>();
for (Airline airline: baseList){
baseArray.add(airline);
filteredList.add(airline);
}
}
public void filterName(String name){
String regexCode = "(?i).*"+name+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterAlias(String alias){
String regexCode = "(?i).*"+alias+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getAlias().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterIATA(String IATA){
String regexCode = "(?i).*"+IATA+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getIATA().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterICAO(String ICAO){
String regexCode = "(?i).*"+ICAO+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getICAO().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCallsign(String callsign){
String regexCode = "(?i).*"+callsign+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCallSign().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCountry(String country){
String regexCode = "(?i).*"+country+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCountryName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterActive(String active){
String regexCode = "(?i).*"+active+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getActive().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void reset() {
filteredList = new ArrayList<Airline>();
for (Airline airline: filteredList){
filteredList.add(airline);
}
}
public ArrayList getFilteredData() {
return filteredList;
}
public void setBaseList(ArrayList<Airline> arrayList) {
baseArray = new ArrayList<Airline>();
for (Airline airline: arrayList){
baseArray.add(airline);
}
}
public void printFilter(){
for (Airline airline: filteredList){
System.out.println(airline);
}
}
}

@ -0,0 +1,180 @@
package seng202.group9.Controller;
import seng202.group9.Core.Airline;
import seng202.group9.Core.Airport;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public class AirportFilter extends Filter{
private ArrayList<Airport> baseArray;
private ArrayList<Airport> filteredList;
public AirportFilter(ArrayList<Airport> baseList){
filteredList = new ArrayList<Airport>();
baseArray = new ArrayList<Airport>();
for (Airport airport: baseList){
baseArray.add(airport);
filteredList.add(airport);
}
}
public void filterName(String name){
String regexCode = "(?i).*"+name+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCity(String city){
String regexCode = "(?i).*"+city+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCityName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCountry(String country){
String regexCode = "(?i).*"+country+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCountryName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterIATA_FFA(String IATA_FFA){
String regexCode = "(?i).*"+IATA_FFA+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getIATA_FFA().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterICAO(String ICAO){
String regexCode = "(?i).*"+ICAO+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getICAO().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterLatitude(String latitude){
String regexCode = "(?i).*"+latitude+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getLatitude()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterLongitude(String longitude){
String regexCode = "(?i).*"+longitude+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getLongitude()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterAltitude(String altitude){
String regexCode = "(?i).*"+altitude+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getAltitude()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterTimezone(String timezone){
String regexCode = "(?i).*"+timezone+".*";
int index = 0;
while(index < filteredList.size()){
if (!String.valueOf(filteredList.get(index).getCity(). getTimezone()).matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterOlson(String olson){
String regexCode = "(?i).*"+olson+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCity().getTimeOlson().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterDST(String DST){
String regexCode = "(?i).*"+DST+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCountry().getDST().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void reset() {
filteredList = new ArrayList<Airport>();
for (Airport airport: filteredList){
filteredList.add(airport);
}
}
public ArrayList getFilteredData() {
return filteredList;
}
public void setBaseList(ArrayList<Airport> arrayList) {
baseArray = new ArrayList<Airport>();
for (Airport airport: arrayList){
baseArray.add(airport);
}
}
public void printFilter(){
for (Airport airport: filteredList){
System.out.println(airport);
}
}
}

@ -23,7 +23,7 @@ import seng202.group9.GUI.MenuController;
*/
public class App extends Application
{
private ArrayList<Dataset> Datasets = new ArrayList<Dataset>();
private ArrayList<Dataset> datasets = new ArrayList<Dataset>();
private Dataset currentDataset = null;
private Stage primaryStage = null;
private VBox mainContainer;
@ -62,6 +62,10 @@ public class App extends Application
e.printStackTrace();
}
AirlineFilter filter = new AirlineFilter(currentDataset.getAirlines());
filter.filterName("NZ");
filter.filterAlias("flight");
filter.printFilter();
/*
//testout single route adding
try {
@ -75,14 +79,12 @@ public class App extends Application
}catch (DataException e){
e.printStackTrace();
}
//testout single airline adding
try {
currentDataset.addAirline("Dota2", "Valve", "D2", "DOT", "Defence of the Ancients", "Steam", "Y");
}catch (DataException e){
e.printStackTrace();
}
//testing out airport parser
try {
System.out.println(currentDataset.importAirport("res/Samples/Airports.txt"));
@ -136,4 +138,9 @@ public class App extends Application
public Dataset getCurrentDataset(){
return currentDataset;
}
public void deleteDataset(Dataset dataset){
dataset.deleteDataset();
datasets.remove(dataset);
}
}

@ -96,7 +96,7 @@ public class Dataset {
String airCallsign = rs.getString("CallSign");
String airCountry = rs.getString("Country");
String airActive = rs.getString("Active");
Airline airlineToAdd = new Airline(airID, airName, airIATA, airICAO, airAlias, airCallsign, airCountry, airActive);
Airline airlineToAdd = new Airline(airID, airName, airAlias, airIATA, airICAO, airCallsign, airCountry, airActive);
//assuming that all names will be unique
airlineDictionary.put(airName, airlineToAdd);
airlines.add(airlineToAdd);
@ -239,6 +239,7 @@ public class Dataset {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
createDataLinks();
}
/**
@ -739,14 +740,18 @@ public class Dataset {
public void createDataLinks(){
//this may be seperated into more sepearate function in the future for time optimisation
HashMap<String, Airline> airlineByIATA= new HashMap<String, Airline>();
//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<String, Airport> airportsByIATA = new HashMap<String, Airport>(); //this is used later for connecting the routes
HashMap<String, Airport> airportsByICAO = new HashMap<String, Airport>(); //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()));
@ -766,7 +771,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");
}
@ -1081,9 +1086,6 @@ public class Dataset {
stmt.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
@ -1095,6 +1097,242 @@ public class Dataset {
}
/**
* This is called in conjunction to the App deleteDataset DO NOT CALL UNLESS THROUGH APP.DELETEDATASET
*/
public void deleteDataset(){
//drop the tables
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
String[] tablesToDrop = {"_Airline", "_Airport", "_City", "_Country", "_Routes", "_Flight_Path", "_Flight_Points"};
for (int i = 0; i < tablesToDrop.length; i++){
stmt = c.createStatement();
String dropTableStatment = "DROP TABLE `"+this.name+tablesToDrop[i]+"`";
stmt.execute(dropTableStatment);
stmt.close();
}
stmt = c.createStatement();
String deleteDatasetEntry = "DELETE FROM `Datasets` WHERE `Dataset_Name` = \""+this.name+"\"";
stmt.execute(deleteDatasetEntry);
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
/**
* deletes an airline from the dataset.
* @param airline
*/
public void deleteAirline(Airline airline){
//drop the entries
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
String deleteQuery = "DELETE FROM `"+this.name+"_Airline` WHERE `Airline_ID` = " + airline.getID() + ";";
stmt = c.createStatement();
stmt.execute(deleteQuery);
stmt.close();
stmt = c.createStatement();
//check if number of countries that contain airlines > 0 else delete the country
String countCountry = "SELECT COUNT(*) FROM `"+this.name+"_Airline` JOIN `"+this.name+"_Country` ON" +
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airline`.`Country`" +
" WHERE `"+this.name+"_Airline`.`Country` = \""+airline.getCountry().getName().replace("\"", "\"\"")+"\"";
ResultSet countCountryRes = stmt.executeQuery(countCountry);
int countryCount = 0;
while (countCountryRes.next()){
countryCount += countCountryRes.getInt("COUNT(*)");
}
countCountryRes.close();
stmt.close();
//check if number of counties that contain airports > 0 else delete the country
String countCountryA = "SELECT COUNT(*) FROM `"+this.name+"_Airport` JOIN `"+this.name+"_Country` ON" +
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airport`.`Country`" +
" WHERE `"+this.name+"_Airport`.`Country` = \""+airline.getCountry().getName().replace("\"", "\"\"")+"\"";
countCountryRes = stmt.executeQuery(countCountryA);
while (countCountryRes.next()){
countryCount += countCountryRes.getInt("COUNT(*)");
}
countCountryRes.close();
stmt.close();
//delete country if there are no matches
if (countryCount == 0){
stmt = c.createStatement();
String deleteCountry = "DELETE FROM `"+this.name+"_Country` WHERE `Country_Name` = \""+airline.getCountry().getName()+"\"";
stmt.execute(deleteCountry);
stmt.close();
}
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
airlines.remove(airline);
}
public void deleteAirline(int index){
deleteAirline(airlines.get(index));
}
/**
* deletes an airport from the dataset.
* @param airport
*/
public void deleteAirport(Airport airport){
//drop the entries
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
String deleteQuery = "DELETE FROM `"+this.name+"_Airport` WHERE `Airport_ID` = " + airport.getID() + ";";
stmt = c.createStatement();
stmt.execute(deleteQuery);
stmt.close();
//check if number of countries that contain airports and airlines > 0 else delete the country
String countCountry = "SELECT COUNT(*) FROM `"+this.name+"_Airport` JOIN `"+this.name+"_Country` ON" +
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airport`.`Country`" +
" WHERE `"+this.name+"_Airport`.`Country` = \""+airport.getCountry().getName().replace("\"", "\"\"")+"\"";
ResultSet countCountryRes = stmt.executeQuery(countCountry);
int countryCount = 0;
while (countCountryRes.next()){
countryCount = countCountryRes.getInt("COUNT(*)");
}
countCountryRes.close();
stmt.close();
//check if number of countries that contain airlines > 0 else delete the country
String countCountryA = "SELECT COUNT(*) FROM `"+this.name+"_Airline` JOIN `"+this.name+"_Country` ON" +
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airline`.`Country`" +
" WHERE `"+this.name+"_Airline`.`Country` = \""+airport.getCountry().getName().replace("\"", "\"\"")+"\"";
ResultSet countCountryResA = stmt.executeQuery(countCountry);
while (countCountryResA.next()){
countryCount += countCountryResA.getInt("COUNT(*)");
}
countCountryResA.close();
stmt.close();
//delete country if no matches
if (countryCount == 0){
stmt = c.createStatement();
String deleteCountry = "DELETE FROM `"+this.name+"_Country` WHERE `Country_Name` = \""+airport.getCountry().getName()+"\"";
stmt.execute(deleteCountry);
stmt.close();
}
//cehck if number cities that contain airports > 0 else delete the city
String countCity = "SELECT COUNT(*) FROM `"+this.name+"_Airport` JOIN `"+this.name+"_City` ON" +
" `"+this.name+"_City`.`City_Name` = `"+this.name+"_Airport`.`City`" +
" WHERE `"+this.name+"_Airport`.`City` = \""+airport.getCityName().replace("\"", "\"\"")+"\"";
ResultSet countCityRes = stmt.executeQuery(countCity);
int cityCount = 0;
while (countCityRes.next()){
cityCount = countCityRes.getInt("COUNT(*)");
}
countCountryRes.close();
stmt.close();
//delete country if no matches
if (cityCount == 0){
stmt = c.createStatement();
String deleteCity = "DELETE FROM `"+this.name+"_City` WHERE `City_Name` = \""+airport.getCityName()+"\"";
stmt.execute(deleteCity);
stmt.close();
}
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
airports.remove(airport);
}
public void deleteAirport(int index){
deleteAirport(airports.get(index));
}
/**
* deletes an route from the dataset.
* @param route
*/
public void deleteRoute(Route route){
//drop the entries
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
String deleteQuery = "DELETE FROM `"+this.name+"_Routes` WHERE `Route_ID` = " + route.getID() + ";";
stmt = c.createStatement();
stmt.execute(deleteQuery);
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
routes.remove(route);
}
public void deleteRoute(int index){
deleteRoute(routes.get(index));
}
/**
* deletes an airline from the dataset.
* @param flightPath
*/
public void deleteFlightPath(FlightPath flightPath){
//delete all flight points with the id
while(flightPath.getFlightPoints().size() > 0){
deleteFlightPoint(flightPath.getFlightPoints().get(0), flightPath);
}
//drop the entries
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
String deleteQuery = "DELETE FROM `"+this.name+"_Flight_Path` WHERE `Path_ID` = " + flightPath.getID() + ";";
stmt = c.createStatement();
stmt.execute(deleteQuery);
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
flightPaths.remove(flightPath);
}
public void deleteFlightPath(int index){
deleteFlightPath(flightPaths.get(index));
}
/**
* deletes an airline from the dataset.
* @param flightPoint
*/
public void deleteFlightPoint(FlightPoint flightPoint, FlightPath flightPath){
//drop the tables
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
String deleteQuery = "DELETE FROM `"+this.name+"_Flight_Points` WHERE `Point_ID` = " + flightPoint.getID() + ";";
stmt = c.createStatement();
stmt.execute(deleteQuery);
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
flightPath.getFlightPoints().remove(flightPoint);
}
public void deleteFlightPoint(int pathIndex, int pointIndex){
deleteFlightPoint(flightPaths.get(pathIndex).getFlightPoints().get(pointIndex), flightPaths.get(pathIndex));
}
public ArrayList<Airline> getAirlines() {
return airlines;

@ -0,0 +1,11 @@
package seng202.group9.Controller;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public abstract class Filter {
abstract void reset();
abstract ArrayList getFilteredData();
}

@ -0,0 +1,119 @@
package seng202.group9.Controller;
import seng202.group9.Core.Route;
import java.util.ArrayList;
/**
* Created by fwy13 on 16/09/16.
*/
public class RouteFilter extends Filter{
private ArrayList<Route> baseArray;
private ArrayList<Route> filteredList;
public RouteFilter(ArrayList<Route> baseList){
filteredList = new ArrayList<Route>();
baseArray = new ArrayList<Route>();
for (Route route: baseList){
baseArray.add(route);
filteredList.add(route);
}
}
public void filterAirline(String airline){
String regexCode = "(?i).*"+airline+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getAirlineName().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterSourceAirport(String airport){
String regexCode = "(?i).*"+airport+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getDepartureAirport().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterDestinationAirport(String airport){
String regexCode = "(?i).*"+airport+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getArrivalAirport().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterCodeshare(String code){
String regexCode = "(?i).*"+code+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getCode().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterDestinationStops(String stops){
String regexCode = "(?i).*"+stops+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getArrivalAirport().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void filterEquipment(String equipment){
String regexCode = "(?i).*"+equipment+".*";
int index = 0;
while(index < filteredList.size()){
if (!filteredList.get(index).getEquipment().matches(regexCode)){
filteredList.remove(index);
}else{
index++;
}
}
}
public void reset() {
filteredList = new ArrayList<Route>();
for (Route airline: filteredList){
filteredList.add(airline);
}
}
public ArrayList getFilteredData() {
return filteredList;
}
public void setBaseList(ArrayList<Route> arrayList) {
baseArray = new ArrayList<Route>();
for (Route route: arrayList){
baseArray.add(route);
}
}
public void printFilter(){
for (Route route: filteredList){
System.out.println(route);
}
}
}

@ -9,7 +9,7 @@ import java.util.ArrayList;
* @author Fan-Wu Yang
*
*/
public class Airline {
public class Airline{
private int ID;
private String IATA;
private String ICAO;

@ -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

@ -18,6 +18,8 @@ public class FlightPoint {
public FlightPoint(String type, String name, double altitude, double latitude, double longitude){
//extra calculations will have to be used to find heading, legdistance and total distance. If necessary
//Type 1 file the file the lecturers gave us
//indexID = flight path ID
//ID = unique Auto Increment value
this.name = name;
this.ID = -1;
this.indexID = -1;

@ -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

@ -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<String> airlActiveCBox;
App parent;
@ -66,11 +65,13 @@ public class AirlineRDController extends MenuController {
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Country"));
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CountryName"));
airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
theDataSet = this.parent.getCurrentDataset();
tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
//ObservableList<String> 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);

@ -43,5 +43,48 @@ public class AirlineSummaryController extends MenuController{
currentData = this.parent.getCurrentDataset();
tableView.setItems(FXCollections.observableArrayList(currentData.getAirlines()));
}
public void airlineRawDataButton() {
try {
AirlineRDController rawDataController = (AirlineRDController)
parent.replaceSceneContent("airline_raw_data.fxml");
rawDataController.setApp(parent);
rawDataController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void flightSummaryButton() {
try {
FlightSummaryController summaryController = (FlightSummaryController)
parent.replaceSceneContent("flight_data_summary.fxml");
summaryController.setApp(parent);
summaryController.flightPathListView();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void airportSummaryButton() {
try {
AirportSummaryController summaryController = (AirportSummaryController)
parent.replaceSceneContent("airport_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void routeSummaryButton() {
try {
RouteSummaryController summaryController = (RouteSummaryController)
parent.replaceSceneContent("routes_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
}

@ -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<Airport, String> airpAltitudecol;
@FXML
private TableColumn<Airport, City> airpTimezonecol;
private TableColumn<Airport, String> airpTimezonecol;
@FXML
private TableColumn<Airport, Country> airpDSTcol;
private TableColumn<Airport, String> airpDSTcol;
@FXML
private TableColumn<Airport, City> airpTzcol;
private TableColumn<Airport, String> airpTzcol;
@FXML
private TextField airpNameBox;
@ -66,7 +70,7 @@ public class AirportRDController extends MenuController{
@FXML
private TextField airpTimezoneBox;
@FXML
private TextField airpDSTBox;
private ComboBox<String> airpDSTCBox;
@FXML
private TextField airpTzBox;
@ -82,18 +86,18 @@ public class AirportRDController extends MenuController{
public void loadTables() {
airpIDcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ID"));
airpNamecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("City"));
airpCountrycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Country"));
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("CityName"));
airpCountrycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("CountryName"));
airpIATAFFAcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("IATA_FFA"));
airpICAOcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ICAO"));
airpLatitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Latitude"));
airpLongitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Longitude"));
airpAltitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Altitude"));
airpTimezonecol.setCellValueFactory(new PropertyValueFactory<Airport, City>("Timezone"));
airpDSTcol.setCellValueFactory(new PropertyValueFactory<Airport, Country>("DST"));
airpTzcol.setCellValueFactory(new PropertyValueFactory<Airport, City>("Tz"));
airpAltitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String> ("Altitude"));
airpTimezonecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Timezone"));
airpDSTcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("DST"));
airpTzcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Tz"));
// airpTimezonecol.setCellFactory(new Callback<TableColumn<Airport, String>, TableCell<Airport, City>>() {
// airpTimezonecol.setCellFactory(new Callback<TableColumn<Airport, String>, TableCell<Airport, String>>() {
//
// @Override
// public TableCell<Airport, City> call(TableColumn<Airport, City> 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 ) {

@ -44,5 +44,48 @@ public class AirportSummaryController extends MenuController{
currentData = this.parent.getCurrentDataset();
tableView.setItems(FXCollections.observableArrayList(currentData.getAirports()));
}
public void airportRawDataButton() {
try {
AirportRDController rawDataController = (AirportRDController)
parent.replaceSceneContent("airport_raw_data.fxml");
rawDataController.setApp(parent);
rawDataController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void flightSummaryButton() {
try {
FlightSummaryController summaryController = (FlightSummaryController)
parent.replaceSceneContent("flight_data_summary.fxml");
summaryController.setApp(parent);
summaryController.flightPathListView();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void routeSummaryButton() {
try {
RouteSummaryController summaryController = (RouteSummaryController)
parent.replaceSceneContent("routes_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void airlineSummaryButton() {
try {
AirlineSummaryController summaryController = (AirlineSummaryController)
parent.replaceSceneContent("airline_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
}

@ -72,6 +72,40 @@ public class FlightSummaryController implements Initializable {
}
}
public void airportSummaryButton() {
try {
AirportSummaryController summaryController = (AirportSummaryController)
parent.replaceSceneContent("airport_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void routeSummaryButton() {
try {
RouteSummaryController summaryController = (RouteSummaryController)
parent.replaceSceneContent("routes_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void airlineSummaryButton() {
try {
AirlineSummaryController summaryController = (AirlineSummaryController)
parent.replaceSceneContent("airline_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub

@ -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<String> 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<Route, String>("Airline"));
//rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
rAirlineCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineName"));
rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
rSourceCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DepartureAirport"));
//rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
rDestCol.setCellValueFactory(new PropertyValueFactory<Route, String>("ArrivalAirport"));
//rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
rCodeshareCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Code"));
rStopsCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Stops"));
rEquipmentCol.setCellValueFactory(new PropertyValueFactory<Route, String>("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()));

@ -43,5 +43,49 @@ public class RouteSummaryController extends MenuController{
currentData = this.parent.getCurrentDataset();
tableView.setItems(FXCollections.observableArrayList(currentData.getRoutes()));
}
public void routeRawDataButton() {
try {
RouteRDController rawDataController = (RouteRDController)
parent.replaceSceneContent("route_raw_data.fxml");
rawDataController.setApp(parent);
rawDataController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void flightSummaryButton() {
try {
FlightSummaryController summaryController = (FlightSummaryController)
parent.replaceSceneContent("flight_data_summary.fxml");
summaryController.setApp(parent);
summaryController.flightPathListView();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void airportSummaryButton() {
try {
AirportSummaryController summaryController = (AirportSummaryController)
parent.replaceSceneContent("airport_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
public void airlineSummaryButton() {
try {
AirlineSummaryController summaryController = (AirlineSummaryController)
parent.replaceSceneContent("airline_summary.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
}
catch (Exception e) {
e.printStackTrace();
}
}
}

@ -2,6 +2,7 @@
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
@ -36,55 +37,51 @@
<TableView fx:id="tableView" layoutX="1.0" prefHeight="403.0" prefWidth="765.0">
<columns>
<TableColumn fx:id="airlIDcol" prefWidth="83.0" text="Airline ID" />
<TableColumn fx:id="airlNamecol" prefWidth="137.0" text="Name" />
<TableColumn fx:id="airlAliascol" minWidth="0.0" prefWidth="129.0" text="Alias" />
<TableColumn fx:id="airlIATAcol" minWidth="0.0" prefWidth="69.0" text="IATA" />
<TableColumn fx:id="airlICAOcol" minWidth="0.0" prefWidth="67.0" text="ICAO" />
<TableColumn fx:id="airlCallsigncol" minWidth="0.0" prefWidth="93.0" text="Callsign" />
<TableColumn fx:id="airlCountrycol" minWidth="0.0" prefWidth="102.0" text="Country" />
<TableColumn fx:id="airlActivecol" minWidth="8.0" prefWidth="84.0" text="Active" />
<TableColumn fx:id="airlNamecol" prefWidth="450.0" text="Name" />
<TableColumn fx:id="airlAliascol" minWidth="0.0" prefWidth="56.0" text="Alias" />
<TableColumn fx:id="airlIATAcol" minWidth="0.0" prefWidth="59.0" text="IATA" />
<TableColumn fx:id="airlICAOcol" minWidth="0.0" prefWidth="68.0" text="ICAO" />
<TableColumn fx:id="airlCallsigncol" minWidth="0.0" prefWidth="400.0" text="Callsign" />
<TableColumn fx:id="airlCountrycol" minWidth="0.0" prefWidth="200.0" text="Country" />
<TableColumn fx:id="airlActivecol" minWidth="8.0" prefWidth="66.0" text="Active" />
</columns>
</TableView>
</children>
</Pane>
<Pane layoutX="14.0" layoutY="483.0" prefHeight="31.0" prefWidth="765.0">
<children>
<TextField fx:id="airlNameBox" layoutX="97.0" layoutY="2.0" prefHeight="25.0" prefWidth="137.0" promptText="Name">
<TextField fx:id="airlNameBox" layoutX="97.0" layoutY="-1.0" prefHeight="31.0" prefWidth="137.0" promptText="Name">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airlAliasBox" layoutX="234.0" layoutY="2.0" prefHeight="25.0" prefWidth="125.0" promptText="Alias">
<TextField fx:id="airlAliasBox" layoutX="234.0" layoutY="-1.0" prefHeight="31.0" prefWidth="69.0" promptText="Alias">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airlIATABox" layoutX="359.0" layoutY="2.0" prefHeight="25.0" prefWidth="67.0" promptText="IATA">
<TextField fx:id="airlIATABox" layoutX="303.0" layoutY="-1.0" prefHeight="31.0" prefWidth="69.0" promptText="IATA">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airlICAOBox" layoutX="426.0" layoutY="2.0" prefHeight="25.0" prefWidth="69.0" promptText="ICAO">
<TextField fx:id="airlICAOBox" layoutX="372.0" layoutY="-1.0" prefHeight="31.0" prefWidth="69.0" promptText="ICAO">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airlCallsignBox" layoutX="495.0" layoutY="2.0" prefHeight="25.0" prefWidth="84.0" promptText="Callsign">
<TextField fx:id="airlCallsignBox" layoutX="441.0" layoutY="-1.0" prefHeight="31.0" prefWidth="84.0" promptText="Callsign">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airlCountryBox" layoutX="579.0" layoutY="2.0" prefHeight="25.0" prefWidth="102.0" promptText="Country">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airlActiveBox" layoutX="681.0" layoutY="2.0" prefHeight="25.0" prefWidth="84.0" promptText="Active">
<TextField fx:id="airlCountryBox" layoutX="525.0" layoutY="-1.0" prefHeight="31.0" prefWidth="137.0" promptText="Country">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<Label layoutY="2.0" prefHeight="25.0" prefWidth="93.0" text="Enter Values:" />
<ComboBox fx:id="airlActiveCBox" layoutX="662.0" layoutY="-1.0" prefHeight="31.0" prefWidth="102.0" promptText="Active" />
</children>
</Pane>
</children>

@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.Pane?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.shape.Rectangle?>
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.45" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.AirlineSummaryController">
<children>
@ -34,16 +34,18 @@
</Pane>
<Pane layoutY="52.0" prefHeight="240.0" prefWidth="480.0" AnchorPane.bottomAnchor="0.0">
<children>
<Pane layoutX="25.0" layoutY="10.0" prefHeight="220.0" prefWidth="120.0" />
<TableView fx:id="tableView" layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="378.0">
<columns>
<TableColumn fx:id="columnName" text="Name" />
<TableColumn fx:id="columnAlias" prefWidth="77.0" text="Alias" />
<TableColumn fx:id="columnCountry" prefWidth="86.0" text="Country" />
<TableColumn fx:id="columnIATA" prefWidth="86.0" text="IATA/FAA" />
<TableColumn fx:id="columnActive" prefWidth="46.0" text="Active" />
</columns>
</TableView>
<Pane layoutX="25.0" layoutY="10.0" prefHeight="220.0" prefWidth="120.0">
<children>
<TableView fx:id="tableView" prefHeight="200.0" prefWidth="378.0">
<columns>
<TableColumn fx:id="columnName" maxWidth="100.0" prefWidth="50.0" text="Name" />
<TableColumn fx:id="columnAlias" prefWidth="77.0" text="Alias" />
<TableColumn fx:id="columnCountry" prefWidth="86.0" text="Country" />
<TableColumn fx:id="columnIATA" prefWidth="86.0" text="IATA/FAA" />
<TableColumn fx:id="columnActive" prefWidth="46.0" text="Active" />
</columns>
</TableView>
</children></Pane>
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
@ -54,24 +56,24 @@
<AnchorPane prefHeight="300.0" prefWidth="253.0">
<children>
<Pane layoutY="200.0" prefHeight="100.0" prefWidth="253.0">
<children>
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Airports">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Routes">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Flights">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="214.0" text="Airline Raw Data" />
</children>
<children>
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" onAction="#airportSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airports">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" onAction="#routeSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Routes">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" onAction="#flightSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Flights">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" onAction="#airlineRawDataButton" prefHeight="25.0" prefWidth="214.0" text="Airline Raw Data" />
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
@ -91,4 +93,4 @@
</content>
</ScrollPane>
</children>
</VBox>
</VBox>

@ -2,6 +2,7 @@
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ScrollPane?>
<?import javafx.scene.control.TableColumn?>
@ -30,66 +31,62 @@
<Font size="29.0" />
</font>
</Label>
<ScrollPane hbarPolicy="ALWAYS" layoutX="14.0" layoutY="474.0" prefHeight="47.0" prefViewportHeight="29.0" prefViewportWidth="1095.0" prefWidth="772.0" vbarPolicy="NEVER">
<ScrollPane hbarPolicy="ALWAYS" layoutX="14.0" layoutY="469.0" prefHeight="54.0" prefViewportHeight="29.0" prefViewportWidth="1095.0" prefWidth="772.0" vbarPolicy="NEVER">
<content>
<Pane prefHeight="29.0" prefWidth="1219.0">
<Pane prefHeight="39.0" prefWidth="1633.0">
<children>
<TextField fx:id="airpNameBox" layoutX="89.0" layoutY="2.0" prefHeight="25.0" prefWidth="137.0" promptText="Name">
<TextField fx:id="airpNameBox" layoutX="89.0" layoutY="4.0" prefHeight="31.0" prefWidth="350.0" promptText="Name">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpCityBox" layoutX="226.0" layoutY="2.0" prefHeight="25.0" prefWidth="129.0" promptText="City">
<TextField fx:id="airpCityBox" layoutX="439.0" layoutY="4.0" prefHeight="31.0" prefWidth="200.0" promptText="City">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpCountryBox" layoutX="355.0" layoutY="2.0" prefHeight="25.0" prefWidth="96.0" promptText="Country">
<TextField fx:id="airpCountryBox" layoutX="639.0" layoutY="4.0" prefHeight="31.0" prefWidth="200.0" promptText="Country">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpIATAFFABox" layoutX="451.0" layoutY="2.0" prefHeight="25.0" prefWidth="87.0" promptText="IATA/FAA">
<TextField fx:id="airpIATAFFABox" layoutX="839.0" layoutY="4.0" prefHeight="31.0" prefWidth="87.0" promptText="IATA/FAA">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpICAOBox" layoutX="538.0" layoutY="2.0" prefHeight="25.0" prefWidth="48.0" promptText="ICAO">
<TextField fx:id="airpICAOBox" layoutX="926.0" layoutY="4.0" prefHeight="31.0" prefWidth="48.0" promptText="ICAO">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpLatitudeBox" layoutX="586.0" layoutY="2.0" prefHeight="25.0" prefWidth="82.0" promptText="Latitude">
<TextField fx:id="airpLatitudeBox" layoutX="974.0" layoutY="4.0" prefHeight="31.0" prefWidth="100.0" promptText="Latitude">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpLongitudeBox" layoutX="668.0" layoutY="2.0" prefHeight="25.0" prefWidth="92.0" promptText="Longitude">
<TextField fx:id="airpLongitudeBox" layoutX="1074.0" layoutY="3.0" prefHeight="31.0" prefWidth="100.0" promptText="Longitude">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpAltitudeBox" layoutX="760.0" layoutY="2.0" prefHeight="25.0" prefWidth="78.0" promptText="Altitude">
<TextField fx:id="airpAltitudeBox" layoutX="1174.0" layoutY="3.0" prefHeight="31.0" prefWidth="75.0" promptText="Altitude">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpTimezoneBox" layoutX="838.0" layoutY="2.0" prefHeight="25.0" prefWidth="80.0" promptText="Timezone">
<TextField fx:id="airpTimezoneBox" layoutX="1249.0" layoutY="3.0" prefHeight="31.0" prefWidth="100.0" promptText="Timezone">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpTzBox" layoutX="1023.0" layoutY="3.0" prefHeight="25.0" prefWidth="182.0" promptText="Tz database time zone">
<TextField fx:id="airpTzBox" layoutX="1432.0" layoutY="3.0" prefHeight="31.0" prefWidth="200.0" promptText="Tz database time zone">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="airpDSTBox" layoutX="918.0" layoutY="2.0" prefHeight="25.0" prefWidth="102.0" promptText="DST">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<Label layoutY="2.0" prefHeight="25.0" prefWidth="87.0" text="Enter Values:" />
<Label layoutX="2.0" layoutY="7.0" prefHeight="25.0" prefWidth="87.0" text="Enter Values:" />
<ComboBox fx:id="airpDSTCBox" layoutX="1349.0" layoutY="3.0" prefHeight="31.0" prefWidth="83.0" promptText="DST" />
</children>
</Pane>
</content>
@ -100,18 +97,18 @@
<children>
<TableView fx:id="tableViewAirportRD" prefHeight="403.0" prefWidth="772.0">
<columns>
<TableColumn fx:id="airpIDcol" prefWidth="83.0" text="Airport ID" />
<TableColumn fx:id="airpNamecol" prefWidth="137.0" text="Name" />
<TableColumn fx:id="airpCitycol" minWidth="0.0" prefWidth="129.0" text="City" />
<TableColumn fx:id="airpCountrycol" minWidth="0.0" prefWidth="96.0" text="Country" />
<TableColumn fx:id="airpIATAFFAcol" minWidth="0.0" prefWidth="87.0" text="IATA/FAA" />
<TableColumn fx:id="airpICAOcol" minWidth="0.0" prefWidth="48.0" text="ICAO" />
<TableColumn fx:id="airpLatitudecol" minWidth="0.0" prefWidth="82.0" text="Latitude" />
<TableColumn fx:id="airpLongitudecol" minWidth="8.0" prefWidth="92.0" text="Longitude" />
<TableColumn fx:id="airpAltitudecol" minWidth="0.0" prefWidth="78.0" text="Altitude" />
<TableColumn fx:id="airpTimezonecol" minWidth="0.0" text="Timezone" />
<TableColumn fx:id="airpDSTcol" prefWidth="102.0" text="DST" />
<TableColumn fx:id="airpTzcol" minWidth="0.0" prefWidth="182.0" text="Tz database time zone" />
<TableColumn fx:id="airpIDcol" prefWidth="81.00003051757812" text="Airport ID" />
<TableColumn fx:id="airpNamecol" prefWidth="350.0" text="Name" />
<TableColumn fx:id="airpCitycol" minWidth="0.0" prefWidth="200.0" text="City" />
<TableColumn fx:id="airpCountrycol" minWidth="0.0" prefWidth="200.0" text="Country" />
<TableColumn fx:id="airpIATAFFAcol" minWidth="0.0" text="IATA/FAA" />
<TableColumn fx:id="airpICAOcol" minWidth="0.0" prefWidth="58.0" text="ICAO" />
<TableColumn fx:id="airpLatitudecol" minWidth="0.0" prefWidth="100.0" text="Latitude" />
<TableColumn fx:id="airpLongitudecol" minWidth="8.0" prefWidth="100.0" text="Longitude" />
<TableColumn fx:id="airpAltitudecol" minWidth="0.0" prefWidth="75.0" text="Altitude" />
<TableColumn fx:id="airpTimezonecol" minWidth="0.0" prefWidth="100.0" text="Timezone" />
<TableColumn fx:id="airpDSTcol" prefWidth="55.0" text="DST" />
<TableColumn fx:id="airpTzcol" minWidth="0.0" prefWidth="200.0" text="Tz database time zone" />
</columns>
</TableView>
</children></Pane>

@ -38,7 +38,7 @@
<children>
<TableView fx:id="tableView" layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="378.0">
<columns>
<TableColumn fx:id="columnName" prefWidth="75.0" text="Name" />
<TableColumn fx:id="columnName" maxWidth="150.0" prefWidth="75.0" text="Name" />
<TableColumn fx:id="columnCity" prefWidth="75.0" text="City" />
<TableColumn fx:id="columnCountry" prefWidth="75.0" text="Country" />
<TableColumn fx:id="columnAltitude" prefWidth="75.0" text="Altitude" />
@ -58,22 +58,22 @@
<children>
<Pane layoutY="200.0" prefHeight="100.0" prefWidth="253.0">
<children>
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Routes">
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" onAction="#airlineSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airline">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Airlines">
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" onAction="#routeSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Routes">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Flights">
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" onAction="#flightSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Flights">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="214.0" text="Airport Raw Data" />
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" onAction="#airportRawDataButton" prefHeight="25.0" prefWidth="214.0" text="Airport Raw Data" />
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
@ -94,4 +94,4 @@
</content>
</ScrollPane>
</children>
</VBox>
</VBox>

@ -83,24 +83,24 @@
</rowConstraints>
<children>
<Pane prefHeight="160.0" prefWidth="295.0" GridPane.rowIndex="1">
<children>
<Button layoutX="33.0" layoutY="82.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Airports">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="126.0" layoutY="81.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Routes">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="218.0" layoutY="81.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Airlines">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="33.0" layoutY="129.0" mnemonicParsing="false" onAction="#handleRawDataButton" prefHeight="25.0" prefWidth="250.0" text="Flight Raw Data" />
</children>
<children>
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" onAction="#airportSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airports">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" onAction="#airlineSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airlines">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" onAction="#routeSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Routes">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" onAction="#handleRawDataButton" prefHeight="25.0" prefWidth="214.0" text="Flights Raw Data" />
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>

@ -2,6 +2,7 @@
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
@ -50,37 +51,33 @@
</Pane>
<Pane layoutX="16.0" layoutY="479.0" prefHeight="32.0" prefWidth="765.0">
<children>
<TextField fx:id="rAirlineBox" layoutX="90.0" layoutY="2.0" prefHeight="25.0" prefWidth="100.0" promptText="Airline">
<TextField fx:id="rAirlineBox" layoutX="90.0" layoutY="-1.0" prefHeight="31.0" prefWidth="100.0" promptText="Airline">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="rSourceBox" layoutX="190.0" layoutY="2.0" prefHeight="25.0" prefWidth="150.0" promptText="Source airport">
<TextField fx:id="rSourceBox" layoutX="190.0" layoutY="-1.0" prefHeight="31.0" prefWidth="150.0" promptText="Source airport">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="rDestBox" layoutX="340.0" layoutY="2.0" prefHeight="25.0" prefWidth="150.0" promptText="Destination airport">
<TextField fx:id="rDestBox" layoutX="340.0" layoutY="-1.0" prefHeight="31.0" prefWidth="150.0" promptText="Destination airport">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="rCodeshareBox" layoutX="490.0" layoutY="2.0" prefHeight="25.0" prefWidth="100.0" promptText="Codeshare">
<TextField fx:id="rStopsBox" layoutX="590.0" layoutY="-1.0" prefHeight="31.0" prefWidth="75.0" promptText="Stops">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="rStopsBox" layoutX="590.0" layoutY="2.0" prefHeight="25.0" prefWidth="75.0" promptText="Stops">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField fx:id="rEquipmentBox" layoutX="665.0" layoutY="2.0" prefHeight="25.0" prefWidth="100.0" promptText="Equipment">
<TextField fx:id="rEquipmentBox" layoutX="665.0" layoutY="-1.0" prefHeight="31.0" prefWidth="100.0" promptText="Equipment">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<Label layoutY="4.0" text="Enter Values:" />
<ComboBox fx:id="rCodeshareCBox" layoutX="490.0" layoutY="-1.0" prefHeight="31.0" prefWidth="100.0" promptText="Codeshare" />
</children>
</Pane>
</children>

@ -38,11 +38,11 @@
<children>
<TableView fx:id="tableView" prefHeight="200.0" prefWidth="378.0">
<columns>
<TableColumn fx:id="columnAirline" prefWidth="75.0" text="Airline" />
<TableColumn fx:id="columnDepart" prefWidth="75.0" text="Depart" />
<TableColumn fx:id="columnArrive" prefWidth="75.0" text="Arrive" />
<TableColumn fx:id="columnStops" prefWidth="75.0" text="Stops" />
<TableColumn fx:id="columnEquipment" prefWidth="75.0" text="Equipment" />
<TableColumn fx:id="columnAirline" prefWidth="89.0" text="Airline" />
<TableColumn fx:id="columnDepart" prefWidth="80.99998474121094" text="Depart" />
<TableColumn fx:id="columnArrive" prefWidth="67.0" text="Arrive" />
<TableColumn fx:id="columnStops" prefWidth="72.0" text="Stops" />
<TableColumn fx:id="columnEquipment" prefWidth="66.0" text="Equipment" />
</columns>
</TableView>
</children>
@ -58,22 +58,22 @@
<children>
<Pane layoutY="200.0" prefHeight="100.0" prefWidth="253.0">
<children>
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Airports">
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" onAction="#airportSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airports">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Airlines">
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" onAction="#airlineSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airlines">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="65.0" text="Flights">
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" onAction="#flightSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Flights">
<font>
<Font size="12.0" />
</font>
</Button>
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="214.0" text="Routes Raw Data" />
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" onAction="#routeRawDataButton" prefHeight="25.0" prefWidth="214.0" text="Routes Raw Data" />
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
@ -94,4 +94,4 @@
</content>
</ScrollPane>
</children>
</VBox>
</VBox>

Loading…
Cancel
Save