From dd2045d147469233eeeeace546d06dc706da2f33 Mon Sep 17 00:00:00 2001 From: YaFedImYaEatIm Date: Fri, 30 Sep 2016 13:19:40 +1300 Subject: [PATCH] Fixed Filter Data Dictionary Key error from the GUI --- .../seng202/group9/GUI/AirlineRDController.java | 14 ++++---------- .../seng202/group9/GUI/AirportRDController.java | 14 ++++---------- .../seng202/group9/GUI/RouteFilterController.java | 5 +++-- .../java/seng202/group9/GUI/RouteRDController.java | 14 +++++--------- src/test/java/seng202/group9/FilterUnitTest.java | 4 ++++ 5 files changed, 20 insertions(+), 31 deletions(-) diff --git a/src/main/java/seng202/group9/GUI/AirlineRDController.java b/src/main/java/seng202/group9/GUI/AirlineRDController.java index 475b392..52a1df4 100644 --- a/src/main/java/seng202/group9/GUI/AirlineRDController.java +++ b/src/main/java/seng202/group9/GUI/AirlineRDController.java @@ -81,17 +81,11 @@ public class AirlineRDController extends Controller { */ public void openFilter() { createPopUpStage(SceneCode.AIRLINE_FILTER, 600, 370); - - if (currentSession.getFilteredAirlines() != null) { - ArrayList d = new ArrayList(); - for (int i = 0; i < theDataSet.getAirlines().size(); i++) { - if (currentSession.getFilteredAirlines().containsValue(theDataSet.getAirlines().get(i).getName()) - && currentSession.getFilteredAirlines().containsKey(i)) { - d.add(theDataSet.getAirlines().get(i)); - } - } - tableViewAirlineRD.setItems(FXCollections.observableArrayList(d)); + ArrayList d = new ArrayList(); + for (int key: currentSession.getFilteredAirlines().keySet()){ + d.add(theDataSet.getAirlineDictionary().get(currentSession.getFilteredAirlines().get(key))); } + tableViewAirlineRD.setItems(FXCollections.observableArrayList(d)); } diff --git a/src/main/java/seng202/group9/GUI/AirportRDController.java b/src/main/java/seng202/group9/GUI/AirportRDController.java index dfd1bf7..3661e15 100644 --- a/src/main/java/seng202/group9/GUI/AirportRDController.java +++ b/src/main/java/seng202/group9/GUI/AirportRDController.java @@ -88,17 +88,11 @@ public class AirportRDController extends Controller{ public void openFilter() { createPopUpStage(SceneCode.AIRPORT_FILTER, 600, 480); - - if (currentSession.getFilteredAirports() != null) { - ArrayList d = new ArrayList(); - for (int i = 0; i < theDataSet.getAirports().size(); i++) { - if (currentSession.getFilteredAirports().containsValue(theDataSet.getAirports().get(i).getName()) - && currentSession.getFilteredAirports().containsKey(i)) { - d.add(theDataSet.getAirports().get(i)); - } - } - tableViewAirportRD.setItems(FXCollections.observableArrayList(d)); + ArrayList d = new ArrayList(); + for (int key: currentSession.getFilteredAirports().keySet()){ + d.add(theDataSet.getAirportDictionary().get(currentSession.getFilteredAirports().get(key))); } + tableViewAirportRD.setItems(FXCollections.observableArrayList(d)); } /** diff --git a/src/main/java/seng202/group9/GUI/RouteFilterController.java b/src/main/java/seng202/group9/GUI/RouteFilterController.java index dc47ecd..a1afa28 100644 --- a/src/main/java/seng202/group9/GUI/RouteFilterController.java +++ b/src/main/java/seng202/group9/GUI/RouteFilterController.java @@ -72,11 +72,12 @@ public class RouteFilterController extends Controller { alert.showAndWait(); //currentSession.setFilteredAirlines(FXCollections.observableArrayList(filter.getFilteredData())); - + //routeAirline + routeSourceAirport + routeArrvAirport + routeCodeShare + routeStops + routeEquip HashMap routesHM = new HashMap(); ArrayList routes = filter.getFilteredData(); for (int index = 0; index < routes.size(); index++) { - routesHM.put(index, routes.get(index).getAirlineName()); + routesHM.put(index, routes.get(index).getAirlineName() + routes.get(index).getDepartureAirport() + routes.get(index).getArrivalAirport() + + routes.get(index).getCode() + routes.get(index).getStops() + routes.get(index).getEquipment()); } currentSession.setFilteredRoutes(routesHM); diff --git a/src/main/java/seng202/group9/GUI/RouteRDController.java b/src/main/java/seng202/group9/GUI/RouteRDController.java index 69b20c6..c05e784 100644 --- a/src/main/java/seng202/group9/GUI/RouteRDController.java +++ b/src/main/java/seng202/group9/GUI/RouteRDController.java @@ -78,16 +78,12 @@ public class RouteRDController extends Controller { public void openFilter() { createPopUpStage(SceneCode.ROUTE_FILTER, 600, 330); - if (currentSession.getFilteredRoutes() != null) { - ArrayList d = new ArrayList(); - for (int i = 0; i < theDataSet.getRoutes().size(); i++) { - if (currentSession.getFilteredRoutes().containsValue(theDataSet.getRoutes().get(i).getAirlineName()) - && currentSession.getFilteredRoutes().containsKey(i)) { - d.add(theDataSet.getRoutes().get(i)); - } - } - tableViewRouteRD.setItems(FXCollections.observableArrayList(d)); + + ArrayList d = new ArrayList(); + for (int key: currentSession.getFilteredRoutes().keySet()){ + d.add(theDataSet.getRouteDictionary().get(currentSession.getFilteredRoutes().get(key))); } + tableViewRouteRD.setItems(FXCollections.observableArrayList(d)); } /** diff --git a/src/test/java/seng202/group9/FilterUnitTest.java b/src/test/java/seng202/group9/FilterUnitTest.java index 44a3c5a..9adf431 100644 --- a/src/test/java/seng202/group9/FilterUnitTest.java +++ b/src/test/java/seng202/group9/FilterUnitTest.java @@ -31,6 +31,10 @@ public class FilterUnitTest { int size = airlineFilter.getFilteredData().size(); + airlineFilter.filterCountry("New Zealand"); + assertTrue(airlineFilter.getFilteredData().size() == 25); + airlineFilter.reset(); + airlineFilter.filterActive("Y"); assertTrue(size != airlineFilter.getFilteredData().size());