Added Session remembering last filtered information

main
YaFedImYaEatIm 9 years ago
parent fe554ccef5
commit 17b945c404

Binary file not shown.

Binary file not shown.

@ -782,7 +782,9 @@ public class Dataset {
//airport.getCountry().setPosition(new Position(airport.getLatitude(), airport.getLongitude())); //airport.getCountry().setPosition(new Position(airport.getLatitude(), airport.getLongitude()));
//TODO Add City in country (This is extra work). //TODO Add City in country (This is extra work).
airport.setCity(cityDictionary.get(airport.getCityName())); airport.setCity(cityDictionary.get(airport.getCityName()));
airport.getCity().addAirport(airport); if (airport.getCity() != null) {
airport.getCity().addAirport(airport);
}
airport.setDepartureRoutes(new ArrayList<Route>()); airport.setDepartureRoutes(new ArrayList<Route>());
airport.setArrivalRoutes(new ArrayList<Route>()); airport.setArrivalRoutes(new ArrayList<Route>());
} }

@ -17,57 +17,19 @@ public class Session implements Serializable {
private SceneCode sceneDisplayed; private SceneCode sceneDisplayed;
private int currentFlightPointID; private int currentFlightPointID;//current selected flight point
private int currentFlightPathID; private int currentFlightPathID;//cureselected flight path
private HashMap<Integer, String> filteredAirlines; private HashMap<Integer, String> filteredAirlines;//current filtered airlines
private HashMap<Integer, String> filteredAirports; private HashMap<Integer, String> filteredAirports;//current filtered airports
private HashMap<Integer, String> filteredRoutes; private HashMap<Integer, String> filteredRoutes;//current filtered routes
private HashMap<String, String> airportFilter;//storage for filter values for airports
private HashMap<String, String> airlineFilter;//storage for filter values for airports
private HashMap<String, String> routeFilter;//storage for filter values for airports
private String selectedgraphagainst; private String selectedgraphagainst;
private String selectedgraphoptions; private String selectedgraphoptions;
private Boolean usefilter; private Boolean usefilter;
private Boolean forceGraph; private Boolean forceGraph;
private String selectedDataToGraph; private String selectedDataToGraph;
public Boolean getForceGraph() {
return forceGraph;
}
public void setForceGraph(Boolean forceGraph) {
this.forceGraph = forceGraph;
}
public String getSelectedDataToGraph() {
return selectedDataToGraph;
}
public void setSelectedDataToGraph(String selectedDataToGraph) {
this.selectedDataToGraph = selectedDataToGraph;
}
public String getSelectedgraphagainst() {
return selectedgraphagainst;
}
public void setSelectedgraphagainst(String selectedgraphagainst) {
this.selectedgraphagainst = selectedgraphagainst;
}
public String getSelectedgraphoptions() {
return selectedgraphoptions;
}
public void setSelectedgraphoptions(String selectedgraphoptions) {
this.selectedgraphoptions = selectedgraphoptions;
}
public Boolean getUsefilter() {
return usefilter;
}
public void setUsefilter(Boolean usefilter) {
this.usefilter = usefilter;
}
private String airlineToEdit; private String airlineToEdit;
private String airportToEdit; private String airportToEdit;
private String routeToEdit; private String routeToEdit;
@ -84,6 +46,10 @@ public class Session implements Serializable {
this.filteredAirlines = new HashMap<>(); this.filteredAirlines = new HashMap<>();
this.filteredAirports = new HashMap<>(); this.filteredAirports = new HashMap<>();
this.filteredRoutes = new HashMap<>(); this.filteredRoutes = new HashMap<>();
//set the filters to nothing
airportFilter = new HashMap<>();
airlineFilter = new HashMap<>();
routeFilter = new HashMap<>();
} }
/** /**
@ -198,4 +164,68 @@ public class Session implements Serializable {
return currentFlightPathID; return currentFlightPathID;
} }
public Boolean getForceGraph() {
return forceGraph;
}
public void setForceGraph(Boolean forceGraph) {
this.forceGraph = forceGraph;
}
public String getSelectedDataToGraph() {
return selectedDataToGraph;
}
public void setSelectedDataToGraph(String selectedDataToGraph) {
this.selectedDataToGraph = selectedDataToGraph;
}
public String getSelectedgraphagainst() {
return selectedgraphagainst;
}
public void setSelectedgraphagainst(String selectedgraphagainst) {
this.selectedgraphagainst = selectedgraphagainst;
}
public String getSelectedgraphoptions() {
return selectedgraphoptions;
}
public void setSelectedgraphoptions(String selectedgraphoptions) {
this.selectedgraphoptions = selectedgraphoptions;
}
public Boolean getUsefilter() {
return usefilter;
}
public void setUsefilter(Boolean usefilter) {
this.usefilter = usefilter;
}
public HashMap<String, String> getAirportFilter() {
return airportFilter;
}
public void setAirportFilter(HashMap<String, String> airportFilter) {
this.airportFilter = airportFilter;
}
public HashMap<String, String> getAirlineFilter() {
return airlineFilter;
}
public void setAirlineFilter(HashMap<String, String> airlineFilter) {
this.airlineFilter = airlineFilter;
}
public HashMap<String, String> getRouteFilter() {
return routeFilter;
}
public void setRouteFilter(HashMap<String, String> routeFilter) {
this.routeFilter = routeFilter;
}
} }

@ -43,13 +43,27 @@ public class AirlineFilterController extends Controller {
private Dataset theDataSet = null; private Dataset theDataSet = null;
private Session currentSession = null; private Session currentSession = null;
private HashMap<String,String> sesFilter;//session filter dictionary
/** /**
* Loads up the current dataset and current session. * Loads up the current dataset and current session.
*/ */
public void load() { public void load() {
if (!checkDataset()){
return;
}
theDataSet = getParent().getCurrentDataset(); theDataSet = getParent().getCurrentDataset();
currentSession = getParent().getSession(); currentSession = getParent().getSession();
sesFilter = currentSession.getAirlineFilter();
airlNameFilter.setText(sesFilter.get("Name"));
airlAliasFilter.setText(sesFilter.get("Alias"));
airlIATAFilter.setText(sesFilter.get("IATA"));
airlICAOFilter.setText(sesFilter.get("ICAO"));
airlCallsignFilter.setText(sesFilter.get("Callsign"));
airlCountryFilter.setText(sesFilter.get("Country"));
airlActiveFilter.setText(sesFilter.get("Active"));
} }
/** /**
@ -61,26 +75,35 @@ public class AirlineFilterController extends Controller {
public void filterAirlines() { public void filterAirlines() {
//The filter function also operates like a search function //The filter function also operates like a search function
AirlineFilter filter = new AirlineFilter(theDataSet.getAirlines()); AirlineFilter filter = new AirlineFilter(theDataSet.getAirlines());
currentSession.setAirlineFilter(new HashMap<String, String>());
sesFilter = currentSession.getAirlineFilter();
if (airlNameFilter.getText() != null) { if (airlNameFilter.getText() != null) {
filter.filterName(airlNameFilter.getText()); filter.filterName(airlNameFilter.getText());
sesFilter.put("Name", airlNameFilter.getText());
} }
if (airlAliasFilter.getText() != null) { if (airlAliasFilter.getText() != null) {
filter.filterAlias(airlAliasFilter.getText()); filter.filterAlias(airlAliasFilter.getText());
sesFilter.put("Alias", airlAliasFilter.getText());
} }
if (airlIATAFilter.getText() != null) { if (airlIATAFilter.getText() != null) {
filter.filterIATA(airlIATAFilter.getText()); filter.filterIATA(airlIATAFilter.getText());
sesFilter.put("IATA", airlIATAFilter.getText());
} }
if (airlICAOFilter.getText() != null) { if (airlICAOFilter.getText() != null) {
filter.filterICAO(airlICAOFilter.getText()); filter.filterICAO(airlICAOFilter.getText());
sesFilter.put("ICAO", airlICAOFilter.getText());
} }
if (airlCallsignFilter.getText() != null) { if (airlCallsignFilter.getText() != null) {
filter.filterCallsign(airlCallsignFilter.getText()); filter.filterCallsign(airlCallsignFilter.getText());
sesFilter.put("Callsign", airlCallsignFilter.getText());
} }
if (airlCountryFilter.getText() != null) { if (airlCountryFilter.getText() != null) {
filter.filterCountry(airlCountryFilter.getText()); filter.filterCountry(airlCountryFilter.getText());
sesFilter.put("Country", airlCountryFilter.getText());
} }
if (airlActiveFilter.getText() != null) { if (airlActiveFilter.getText() != null) {
filter.filterActive(airlActiveFilter.getText()); filter.filterActive(airlActiveFilter.getText());
sesFilter.put("Active", airlActiveFilter.getText());
} }
Alert alert = new Alert(Alert.AlertType.INFORMATION); Alert alert = new Alert(Alert.AlertType.INFORMATION);

@ -48,6 +48,7 @@ public class AirportFilterController extends Controller {
private Dataset theDataSet = null; private Dataset theDataSet = null;
//Set an empty session to be assigned to the current session. //Set an empty session to be assigned to the current session.
private Session currentSession = null; private Session currentSession = null;
private HashMap<String, String> sesFilter;
/** /**
* Filters the airports table by any field. * Filters the airports table by any field.
@ -58,38 +59,51 @@ public class AirportFilterController extends Controller {
public void filterAirports() { public void filterAirports() {
//The filter function also operates like a search function //The filter function also operates like a search function
AirportFilter filter = new AirportFilter(theDataSet.getAirports()); AirportFilter filter = new AirportFilter(theDataSet.getAirports());
currentSession.setAirportFilter(new HashMap<String, String>());
sesFilter = currentSession.getAirportFilter();
if (airpNameFilter.getText() != null) { if (airpNameFilter.getText() != null) {
filter.filterName(airpNameFilter.getText()); filter.filterName(airpNameFilter.getText());
sesFilter.put("Name", airpNameFilter.getText());
} }
if (airpCityFilter.getText() != null) { if (airpCityFilter.getText() != null) {
filter.filterCity(airpCityFilter.getText()); filter.filterCity(airpCityFilter.getText());
sesFilter.put("City", airpCityFilter.getText());
} }
if (airpCountryFilter.getText() != null) { if (airpCountryFilter.getText() != null) {
filter.filterCountry(airpCountryFilter.getText()); filter.filterCountry(airpCountryFilter.getText());
sesFilter.put("Country", airpCountryFilter.getText());
} }
if (airpIATAFAAFilter.getText() != null) { if (airpIATAFAAFilter.getText() != null) {
filter.filterIATA_FFA(airpIATAFAAFilter.getText()); filter.filterIATA_FFA(airpIATAFAAFilter.getText());
sesFilter.put("IATA/FFA", airpIATAFAAFilter.getText());
} }
if (airpICAOFilter.getText() != null) { if (airpICAOFilter.getText() != null) {
filter.filterICAO(airpICAOFilter.getText()); filter.filterICAO(airpICAOFilter.getText());
sesFilter.put("ICAO", airpICAOFilter.getText());
} }
if (airpLatitudeFilter.getText() != null) { if (airpLatitudeFilter.getText() != null) {
filter.filterLatitude(airpLatitudeFilter.getText()); filter.filterLatitude(airpLatitudeFilter.getText());
sesFilter.put("Latitude", airpLatitudeFilter.getText());
} }
if (airpLongitudeFilter.getText() != null) { if (airpLongitudeFilter.getText() != null) {
filter.filterLongitude(airpLongitudeFilter.getText()); filter.filterLongitude(airpLongitudeFilter.getText());
sesFilter.put("Longitude", airpLongitudeFilter.getText());
} }
if (airpAltitudeFilter.getText() != null) { if (airpAltitudeFilter.getText() != null) {
filter.filterAltitude(airpAltitudeFilter.getText()); filter.filterAltitude(airpAltitudeFilter.getText());
sesFilter.put("Altitude", airpAltitudeFilter.getText());
} }
if (airpTimezoneFilter.getText() != null) { if (airpTimezoneFilter.getText() != null) {
filter.filterTimezone(airpTimezoneFilter.getText()); filter.filterTimezone(airpTimezoneFilter.getText());
sesFilter.put("Tz", airpTimezoneFilter.getText());
} }
if (airpDSTFilter.getText() != null) { if (airpDSTFilter.getText() != null) {
filter.filterDST(airpDSTFilter.getText()); filter.filterDST(airpDSTFilter.getText());
sesFilter.put("DST", airpDSTFilter.getText());
} }
if (airpTzFilter.getText() != null) { if (airpTzFilter.getText() != null) {
filter.filterOlson(airpTzFilter.getText()); filter.filterOlson(airpTzFilter.getText());
sesFilter.put("Olson", airpTzFilter.getText());
} }
Alert alert = new Alert(Alert.AlertType.INFORMATION); Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Airport Filter Successful"); alert.setTitle("Airport Filter Successful");
@ -109,7 +123,24 @@ public class AirportFilterController extends Controller {
} }
public void load() { public void load() {
if (!checkDataset()){
return;
}
theDataSet = getParent().getCurrentDataset(); theDataSet = getParent().getCurrentDataset();
currentSession = getParent().getSession(); currentSession = getParent().getSession();
sesFilter = currentSession.getAirportFilter();
airpNameFilter.setText(sesFilter.get("Name"));
airpCityFilter.setText(sesFilter.get("City"));
airpCountryFilter.setText(sesFilter.get("Country"));
airpIATAFAAFilter.setText(sesFilter.get("IATA/FFA"));
airpICAOFilter.setText(sesFilter.get("ICAO"));
airpLatitudeFilter.setText(sesFilter.get("Latitude"));
airpLongitudeFilter.setText(sesFilter.get("Longitude"));
airpAltitudeFilter.setText(sesFilter.get("Altitude"));
airpTimezoneFilter.setText(sesFilter.get("Tz"));
airpDSTFilter.setText(sesFilter.get("DST"));
airpTzFilter.setText(sesFilter.get("Olson"));
} }
} }

@ -37,6 +37,7 @@ public class RouteFilterController extends Controller {
private Dataset theDataSet = null; private Dataset theDataSet = null;
//Set an empty session to be assigned to the current session. //Set an empty session to be assigned to the current session.
private Session currentSession = null; private Session currentSession = null;
private HashMap<String, String> sesFilter;
/** /**
* Filters the routes table by any field. * Filters the routes table by any field.
@ -47,23 +48,30 @@ public class RouteFilterController extends Controller {
public void filterRoutes(){ public void filterRoutes(){
//The filter function also operates like a search function //The filter function also operates like a search function
RouteFilter filter = new RouteFilter(theDataSet.getRoutes()); RouteFilter filter = new RouteFilter(theDataSet.getRoutes());
currentSession.setRouteFilter(new HashMap<String, String>());
if (rAirlineFilter.getText() != null) { if (rAirlineFilter.getText() != null) {
filter.filterAirline(rAirlineFilter.getText()); filter.filterAirline(rAirlineFilter.getText());
sesFilter.put("Airline", rAirlineFilter.getText());
} }
if (rSourceFilter.getText() != null) { if (rSourceFilter.getText() != null) {
filter.filterSourceAirport(rSourceFilter.getText()); filter.filterSourceAirport(rSourceFilter.getText());
sesFilter.put("Airline", rSourceFilter.getText());
} }
if (rDestFilter.getText() != null) { if (rDestFilter.getText() != null) {
filter.filterDestinationAirport(rDestFilter.getText()); filter.filterDestinationAirport(rDestFilter.getText());
sesFilter.put("Airline", rDestFilter.getText());
} }
if (rCodeshareFilter.getText() != null) { if (rCodeshareFilter.getText() != null) {
filter.filterCodeshare(rCodeshareFilter.getText()); filter.filterCodeshare(rCodeshareFilter.getText());
sesFilter.put("Airline", rCodeshareFilter.getText());
} }
if (rStopsFilter.getText() != null) { if (rStopsFilter.getText() != null) {
filter.filterDestinationStops(rStopsFilter.getText()); filter.filterDestinationStops(rStopsFilter.getText());
sesFilter.put("Airline", rStopsFilter.getText());
} }
if (rEquipmentFilter.getText() != null) { if (rEquipmentFilter.getText() != null) {
filter.filterEquipment(rEquipmentFilter.getText()); filter.filterEquipment(rEquipmentFilter.getText());
sesFilter.put("Airline", rEquipmentFilter.getText());
} }
Alert alert = new Alert(Alert.AlertType.INFORMATION); Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Route Filter Successful"); alert.setTitle("Route Filter Successful");
@ -91,5 +99,12 @@ public class RouteFilterController extends Controller {
} }
theDataSet = getParent().getCurrentDataset(); theDataSet = getParent().getCurrentDataset();
currentSession = getParent().getSession(); currentSession = getParent().getSession();
sesFilter = currentSession.getRouteFilter();
rAirlineFilter.setText(sesFilter.get("Airline"));
rSourceFilter.setText(sesFilter.get("Source"));
rDestFilter.setText(sesFilter.get("Destination"));
rCodeshareFilter.setText(sesFilter.get("Codeshare"));
rStopsFilter.setText(sesFilter.get("Stops"));
rEquipmentFilter.setText(sesFilter.get("Equipment"));
} }
} }

Loading…
Cancel
Save