Merge branch 'master' of https://eng-git.canterbury.ac.nz/fwy13/SENG202
# Conflicts: # res/userdb.db
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user