diff --git a/res/session.ser b/res/session.ser index 43db026..b6bf6bf 100644 Binary files a/res/session.ser and b/res/session.ser differ diff --git a/src/main/java/seng202/group9/Controller/AirportFilter.java b/src/main/java/seng202/group9/Controller/AirportFilter.java index 21a22b7..595d173 100644 --- a/src/main/java/seng202/group9/Controller/AirportFilter.java +++ b/src/main/java/seng202/group9/Controller/AirportFilter.java @@ -83,7 +83,7 @@ public class AirportFilter extends Filter{ } public void filterLatitude(String latitude){ - String regexCode = "(?i).*"+latitude+".*"; + String regexCode = ".*"+latitude+".*"; int index = 0; while(index < filteredList.size()){ if (!String.valueOf(filteredList.get(index).getLatitude()).matches(regexCode)){ @@ -95,7 +95,7 @@ public class AirportFilter extends Filter{ } public void filterLongitude(String longitude){ - String regexCode = "(?i).*"+longitude+".*"; + String regexCode = ".*"+longitude+".*"; int index = 0; while(index < filteredList.size()){ if (!String.valueOf(filteredList.get(index).getLongitude()).matches(regexCode)){ @@ -107,7 +107,7 @@ public class AirportFilter extends Filter{ } public void filterAltitude(String altitude){ - String regexCode = "(?i).*"+altitude+".*"; + String regexCode = ".*"+altitude+".*"; int index = 0; while(index < filteredList.size()){ if (!String.valueOf(filteredList.get(index).getAltitude()).matches(regexCode)){ @@ -146,7 +146,7 @@ public class AirportFilter extends Filter{ String regexCode = "(?i).*"+DST+".*"; int index = 0; while(index < filteredList.size()){ - if (!filteredList.get(index).getCountry().getDST().matches(regexCode)){ + if (!filteredList.get(index).getDST().matches(regexCode)){ filteredList.remove(index); }else{ index++; diff --git a/src/main/java/seng202/group9/Controller/RouteFilter.java b/src/main/java/seng202/group9/Controller/RouteFilter.java index a96408d..89dc1d2 100644 --- a/src/main/java/seng202/group9/Controller/RouteFilter.java +++ b/src/main/java/seng202/group9/Controller/RouteFilter.java @@ -73,7 +73,7 @@ public class RouteFilter extends Filter{ String regexCode = "(?i).*"+stops+".*"; int index = 0; while(index < filteredList.size()){ - if (!filteredList.get(index).getArrivalAirport().matches(regexCode)){ + if (!String.valueOf(filteredList.get(index).getStops()).matches(regexCode)){ filteredList.remove(index); }else{ index++; diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index 10b873d..ea0c470 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -12,6 +12,7 @@ import javafx.fxml.FXML; import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import javafx.util.Callback; +import seng202.group9.Controller.AirportFilter; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; import seng202.group9.Core.Airport; @@ -74,6 +75,29 @@ public class AirportRDController extends Controller{ @FXML private TextField airpTzBox; + @FXML + private TextField airpNameFilter; + @FXML + private TextField airpCityFilter; + @FXML + private TextField airpCountryFilter; + @FXML + private TextField airpIATAFFAFilter; + @FXML + private TextField airpICAOFilter; + @FXML + private TextField airpLatitudeFilter; + @FXML + private TextField airpLongitudeFilter; + @FXML + private TextField airpAltitudeFilter; + @FXML + private TextField airpTimezoneFilter; + @FXML + private TextField airpDSTFilter; + @FXML + private TextField airpTzFilter; + private Dataset theDataSet = null; public void load() { @@ -136,4 +160,42 @@ public class AirportRDController extends Controller{ theDataSet.deleteAirport(toDelete); tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports())); } + + public void filterAirports() { + AirportFilter filter = new AirportFilter(theDataSet.getAirports()); + if (airpNameFilter.getText() != null) { + filter.filterName(airpNameFilter.getText()); + } + if (airpCityFilter.getText() != null) { + filter.filterCity(airpCityFilter.getText()); + } + if (airpCountryFilter.getText() != null) { + filter.filterCountry(airpCountryFilter.getText()); + } + if (airpIATAFFAFilter.getText() != null) { + filter.filterIATA_FFA(airpIATAFFAFilter.getText()); + } + if (airpICAOFilter.getText() != null) { + filter.filterICAO(airpICAOFilter.getText()); + } + if (airpLatitudeFilter.getText() != null) { + filter.filterLatitude(airpLatitudeFilter.getText()); + } + if (airpLongitudeFilter.getText() != null) { + filter.filterLongitude(airpLongitudeFilter.getText()); + } + if (airpAltitudeFilter.getText() != null) { + filter.filterAltitude(airpAltitudeFilter.getText()); + } + if (airpTimezoneFilter.getText() != null) { + filter.filterTimezone(airpTimezoneFilter.getText()); + } + if (airpDSTFilter.getText() != null) { + filter.filterDST(airpDSTFilter.getText()); + } + if (airpTzFilter.getText() != null) { + filter.filterOlson(airpTzFilter.getText()); + } + tableViewAirportRD.setItems(FXCollections.observableArrayList(filter.getFilteredData())); + } } diff --git a/src/main/java/seng202/group9/GUI/RouteRDController.java b/src/main/java/seng202/group9/GUI/RouteRDController.java index 79817c5..f5b6dfd 100644 --- a/src/main/java/seng202/group9/GUI/RouteRDController.java +++ b/src/main/java/seng202/group9/GUI/RouteRDController.java @@ -126,7 +126,7 @@ public class RouteRDController extends Controller { public void filterRoutes(){ RouteFilter filter = new RouteFilter(theDataSet.getRoutes()); - if (rAirlineFilter.getText() != null && !rAirlineFilter.getText().equals("")) { + if (rAirlineFilter.getText() != null) { //System.out.println("Hello over here"); filter.filterAirline(rAirlineFilter.getText()); } diff --git a/src/main/resources/airport_raw_data.fxml b/src/main/resources/airport_raw_data.fxml index 845c767..4f3c36b 100644 --- a/src/main/resources/airport_raw_data.fxml +++ b/src/main/resources/airport_raw_data.fxml @@ -33,7 +33,7 @@ - + @@ -52,17 +52,17 @@ - + - + - + @@ -87,17 +87,17 @@ -