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()));
//TODO Add City in country (This is extra work).
airport.setCity(cityDictionary.get(airport.getCityName()));
airport.getCity().addAirport(airport);
if (airport.getCity() != null) {
airport.getCity().addAirport(airport);
}
airport.setDepartureRoutes(new ArrayList<Route>());
airport.setArrivalRoutes(new ArrayList<Route>());
}

@ -17,57 +17,19 @@ public class Session implements Serializable {
private SceneCode sceneDisplayed;
private int currentFlightPointID;
private int currentFlightPathID;
private HashMap<Integer, String> filteredAirlines;
private HashMap<Integer, String> filteredAirports;
private HashMap<Integer, String> filteredRoutes;
private int currentFlightPointID;//current selected flight point
private int currentFlightPathID;//cureselected flight path
private HashMap<Integer, String> filteredAirlines;//current filtered airlines
private HashMap<Integer, String> filteredAirports;//current filtered airports
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 selectedgraphoptions;
private Boolean usefilter;
private Boolean forceGraph;
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 airportToEdit;
private String routeToEdit;
@ -84,6 +46,10 @@ public class Session implements Serializable {
this.filteredAirlines = new HashMap<>();
this.filteredAirports = 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;
}
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 Session currentSession = null;
private HashMap<String,String> sesFilter;//session filter dictionary
/**
* Loads up the current dataset and current session.
*/
public void load() {
if (!checkDataset()){
return;
}
theDataSet = getParent().getCurrentDataset();
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() {
//The filter function also operates like a search function
AirlineFilter filter = new AirlineFilter(theDataSet.getAirlines());
currentSession.setAirlineFilter(new HashMap<String, String>());
sesFilter = currentSession.getAirlineFilter();
if (airlNameFilter.getText() != null) {
filter.filterName(airlNameFilter.getText());
sesFilter.put("Name", airlNameFilter.getText());
}
if (airlAliasFilter.getText() != null) {
filter.filterAlias(airlAliasFilter.getText());
sesFilter.put("Alias", airlAliasFilter.getText());
}
if (airlIATAFilter.getText() != null) {
filter.filterIATA(airlIATAFilter.getText());
sesFilter.put("IATA", airlIATAFilter.getText());
}
if (airlICAOFilter.getText() != null) {
filter.filterICAO(airlICAOFilter.getText());
sesFilter.put("ICAO", airlICAOFilter.getText());
}
if (airlCallsignFilter.getText() != null) {
filter.filterCallsign(airlCallsignFilter.getText());
sesFilter.put("Callsign", airlCallsignFilter.getText());
}
if (airlCountryFilter.getText() != null) {
filter.filterCountry(airlCountryFilter.getText());
sesFilter.put("Country", airlCountryFilter.getText());
}
if (airlActiveFilter.getText() != null) {
filter.filterActive(airlActiveFilter.getText());
sesFilter.put("Active", airlActiveFilter.getText());
}
Alert alert = new Alert(Alert.AlertType.INFORMATION);

@ -48,6 +48,7 @@ public class AirportFilterController extends Controller {
private Dataset theDataSet = null;
//Set an empty session to be assigned to the current session.
private Session currentSession = null;
private HashMap<String, String> sesFilter;
/**
* Filters the airports table by any field.
@ -58,38 +59,51 @@ public class AirportFilterController extends Controller {
public void filterAirports() {
//The filter function also operates like a search function
AirportFilter filter = new AirportFilter(theDataSet.getAirports());
currentSession.setAirportFilter(new HashMap<String, String>());
sesFilter = currentSession.getAirportFilter();
if (airpNameFilter.getText() != null) {
filter.filterName(airpNameFilter.getText());
sesFilter.put("Name", airpNameFilter.getText());
}
if (airpCityFilter.getText() != null) {
filter.filterCity(airpCityFilter.getText());
sesFilter.put("City", airpCityFilter.getText());
}
if (airpCountryFilter.getText() != null) {
filter.filterCountry(airpCountryFilter.getText());
sesFilter.put("Country", airpCountryFilter.getText());
}
if (airpIATAFAAFilter.getText() != null) {
filter.filterIATA_FFA(airpIATAFAAFilter.getText());
sesFilter.put("IATA/FFA", airpIATAFAAFilter.getText());
}
if (airpICAOFilter.getText() != null) {
filter.filterICAO(airpICAOFilter.getText());
sesFilter.put("ICAO", airpICAOFilter.getText());
}
if (airpLatitudeFilter.getText() != null) {
filter.filterLatitude(airpLatitudeFilter.getText());
sesFilter.put("Latitude", airpLatitudeFilter.getText());
}
if (airpLongitudeFilter.getText() != null) {
filter.filterLongitude(airpLongitudeFilter.getText());
sesFilter.put("Longitude", airpLongitudeFilter.getText());
}
if (airpAltitudeFilter.getText() != null) {
filter.filterAltitude(airpAltitudeFilter.getText());
sesFilter.put("Altitude", airpAltitudeFilter.getText());
}
if (airpTimezoneFilter.getText() != null) {
filter.filterTimezone(airpTimezoneFilter.getText());
sesFilter.put("Tz", airpTimezoneFilter.getText());
}
if (airpDSTFilter.getText() != null) {
filter.filterDST(airpDSTFilter.getText());
sesFilter.put("DST", airpDSTFilter.getText());
}
if (airpTzFilter.getText() != null) {
filter.filterOlson(airpTzFilter.getText());
sesFilter.put("Olson", airpTzFilter.getText());
}
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Airport Filter Successful");
@ -109,7 +123,24 @@ public class AirportFilterController extends Controller {
}
public void load() {
if (!checkDataset()){
return;
}
theDataSet = getParent().getCurrentDataset();
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;
//Set an empty session to be assigned to the current session.
private Session currentSession = null;
private HashMap<String, String> sesFilter;
/**
* Filters the routes table by any field.
@ -47,23 +48,30 @@ public class RouteFilterController extends Controller {
public void filterRoutes(){
//The filter function also operates like a search function
RouteFilter filter = new RouteFilter(theDataSet.getRoutes());
currentSession.setRouteFilter(new HashMap<String, String>());
if (rAirlineFilter.getText() != null) {
filter.filterAirline(rAirlineFilter.getText());
sesFilter.put("Airline", rAirlineFilter.getText());
}
if (rSourceFilter.getText() != null) {
filter.filterSourceAirport(rSourceFilter.getText());
sesFilter.put("Airline", rSourceFilter.getText());
}
if (rDestFilter.getText() != null) {
filter.filterDestinationAirport(rDestFilter.getText());
sesFilter.put("Airline", rDestFilter.getText());
}
if (rCodeshareFilter.getText() != null) {
filter.filterCodeshare(rCodeshareFilter.getText());
sesFilter.put("Airline", rCodeshareFilter.getText());
}
if (rStopsFilter.getText() != null) {
filter.filterDestinationStops(rStopsFilter.getText());
sesFilter.put("Airline", rStopsFilter.getText());
}
if (rEquipmentFilter.getText() != null) {
filter.filterEquipment(rEquipmentFilter.getText());
sesFilter.put("Airline", rEquipmentFilter.getText());
}
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Route Filter Successful");
@ -91,5 +99,12 @@ public class RouteFilterController extends Controller {
}
theDataSet = getParent().getCurrentDataset();
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