Did same things to airports and routes
This commit is contained in:
Binary file not shown.
@@ -12,7 +12,9 @@ import java.util.HashMap;
|
|||||||
*/
|
*/
|
||||||
public class Session implements Serializable {
|
public class Session implements Serializable {
|
||||||
private SceneCode sceneDisplayed;
|
private SceneCode sceneDisplayed;
|
||||||
private HashMap<String, Integer> filteredAirlines;
|
private HashMap<Integer, String> filteredAirlines;
|
||||||
|
private HashMap<Integer, String> filteredAirports;
|
||||||
|
private HashMap<Integer, String> filteredRoutes;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for a new session
|
* Constructor for a new session
|
||||||
@@ -50,7 +52,23 @@ public class Session implements Serializable {
|
|||||||
this.filteredAirlines = airlines;
|
this.filteredAirlines = airlines;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HashMap<String, Integer> getFilteredAirlines() {
|
public HashMap<Integer, String> getFilteredAirlines() {
|
||||||
return filteredAirlines;
|
return filteredAirlines;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setFilteredAirports(HashMap airports) {
|
||||||
|
this.filteredAirports = airports;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HashMap<Integer, String> getFilteredAirports() {
|
||||||
|
return filteredAirports;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFilteredRoutes(HashMap routes) {
|
||||||
|
this.filteredRoutes = routes;
|
||||||
|
}
|
||||||
|
|
||||||
|
public HashMap<Integer, String> getFilteredRoutes() {
|
||||||
|
return filteredRoutes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,23 +3,16 @@ package seng202.group9.GUI;
|
|||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.fxml.FXMLLoader;
|
|
||||||
import javafx.scene.Parent;
|
|
||||||
import javafx.scene.Scene;
|
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.cell.PropertyValueFactory;
|
import javafx.scene.control.cell.PropertyValueFactory;
|
||||||
import javafx.scene.layout.Pane;
|
|
||||||
import javafx.stage.Modality;
|
|
||||||
import javafx.stage.Stage;
|
|
||||||
import javafx.stage.StageStyle;
|
|
||||||
import seng202.group9.Controller.*;
|
import seng202.group9.Controller.*;
|
||||||
import seng202.group9.Core.Airline;
|
import seng202.group9.Core.Airline;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
//make a class for the scenes to get the data I guess
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The GUI controller class for airline_raw_data.fxml.
|
* The GUI controller class for airline_raw_data.fxml.
|
||||||
* Extends from the abstract class {@link Controller}.
|
* Extends from the abstract class {@link Controller}.
|
||||||
@@ -46,8 +39,9 @@ public class AirlineRDController extends Controller {
|
|||||||
@FXML
|
@FXML
|
||||||
private TableColumn<Airline, String> airlActiveCol;
|
private TableColumn<Airline, String> airlActiveCol;
|
||||||
|
|
||||||
//Set an empty Dataset to be assigned later.
|
//Set an empty Dataset to be assigned to the current dataset.
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
|
//Set an empty session to be assigned to the current session.
|
||||||
private Session currentSession = null;
|
private Session currentSession = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -67,10 +61,10 @@ public class AirlineRDController extends Controller {
|
|||||||
|
|
||||||
//Assigning the Dataset to the current Dataset's airlines and displaying it in a table
|
//Assigning the Dataset to the current Dataset's airlines and displaying it in a table
|
||||||
theDataSet = getParent().getCurrentDataset();
|
theDataSet = getParent().getCurrentDataset();
|
||||||
|
currentSession = getParent().getSession();
|
||||||
|
|
||||||
tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
|
tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
|
||||||
tableViewAirlineRD.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
tableViewAirlineRD.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
||||||
|
|
||||||
currentSession = getParent().getSession();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ import javafx.fxml.FXML;
|
|||||||
import javafx.scene.control.Alert;
|
import javafx.scene.control.Alert;
|
||||||
import javafx.scene.control.ComboBox;
|
import javafx.scene.control.ComboBox;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.stage.Stage;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
|
import seng202.group9.Controller.Session;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Sunguin on 2016/09/22.
|
* Created by Sunguin on 2016/09/22.
|
||||||
@@ -34,6 +36,8 @@ public class AirportAddController extends Controller {
|
|||||||
private TextField airpDSTAdd;
|
private TextField airpDSTAdd;
|
||||||
@FXML
|
@FXML
|
||||||
private TextField airpTzAdd;
|
private TextField airpTzAdd;
|
||||||
|
@FXML
|
||||||
|
private TextField addButton;
|
||||||
|
|
||||||
//Set an empty Dataset to be assigned later
|
//Set an empty Dataset to be assigned later
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
@@ -70,6 +74,16 @@ public class AirportAddController extends Controller {
|
|||||||
airpTimezoneAdd.clear();
|
airpTimezoneAdd.clear();
|
||||||
airpDSTAdd.clear();
|
airpDSTAdd.clear();
|
||||||
airpTzAdd.clear();
|
airpTzAdd.clear();
|
||||||
|
|
||||||
|
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||||
|
alert.setTitle("Airport Add Successful");
|
||||||
|
alert.setHeaderText("New Airport added!");
|
||||||
|
alert.setContentText("Your new airport has been successfully added into the database.");
|
||||||
|
alert.showAndWait();
|
||||||
|
|
||||||
|
Stage stage = (Stage) addButton.getScene().getWindow();
|
||||||
|
stage.close();
|
||||||
|
|
||||||
} catch ( Exception e ) {
|
} catch ( Exception e ) {
|
||||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||||
alert.setTitle("Airport Data Error");
|
alert.setTitle("Airport Data Error");
|
||||||
|
|||||||
@@ -2,11 +2,18 @@ package seng202.group9.GUI;
|
|||||||
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.control.Alert;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.stage.Stage;
|
||||||
import seng202.group9.Controller.AirportFilter;
|
import seng202.group9.Controller.AirportFilter;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
|
import seng202.group9.Controller.Session;
|
||||||
import seng202.group9.Core.Airport;
|
import seng202.group9.Core.Airport;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Sunguin on 2016/09/22.
|
* Created by Sunguin on 2016/09/22.
|
||||||
*/
|
*/
|
||||||
@@ -34,9 +41,13 @@ public class AirportFilterController extends Controller {
|
|||||||
private TextField airpDSTFilter;
|
private TextField airpDSTFilter;
|
||||||
@FXML
|
@FXML
|
||||||
private TextField airpTzFilter;
|
private TextField airpTzFilter;
|
||||||
|
@FXML
|
||||||
|
private Button applyButton;
|
||||||
|
|
||||||
//Set an empty Dataset to be assigned later
|
//Set an empty Dataset to be assigned later
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
|
//Set an empty session to be assigned to the current session.
|
||||||
|
private Session currentSession = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters the airports table by any field.
|
* Filters the airports table by any field.
|
||||||
@@ -80,9 +91,27 @@ public class AirportFilterController extends Controller {
|
|||||||
if (airpTzFilter.getText() != null) {
|
if (airpTzFilter.getText() != null) {
|
||||||
filter.filterOlson(airpTzFilter.getText());
|
filter.filterOlson(airpTzFilter.getText());
|
||||||
}
|
}
|
||||||
|
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||||
|
alert.setTitle("Airline Filter Successful");
|
||||||
|
alert.setHeaderText("Airline data filtered!");
|
||||||
|
alert.setContentText("Your airline data has been successfully filtered.");
|
||||||
|
alert.showAndWait();
|
||||||
|
|
||||||
|
//currentSession.setFilteredAirlines(FXCollections.observableArrayList(filter.getFilteredData()));
|
||||||
|
|
||||||
|
HashMap<Integer, String> airportsHM = new HashMap<Integer, String>();
|
||||||
|
ArrayList<Airport> airports = filter.getFilteredData();
|
||||||
|
for (int index = 0; index < airports.size(); index++) {
|
||||||
|
airportsHM.put(index, airports.get(index).getName());
|
||||||
|
}
|
||||||
|
currentSession.setFilteredAirports(airportsHM);
|
||||||
|
|
||||||
|
Stage stage = (Stage) applyButton.getScene().getWindow();
|
||||||
|
stage.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
theDataSet = getParent().getCurrentDataset();
|
theDataSet = getParent().getCurrentDataset();
|
||||||
|
currentSession = getParent().getSession();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,19 @@
|
|||||||
package seng202.group9.GUI;
|
package seng202.group9.GUI;
|
||||||
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.cell.PropertyValueFactory;
|
import javafx.scene.control.cell.PropertyValueFactory;
|
||||||
import seng202.group9.Controller.AirportFilter;
|
import seng202.group9.Controller.AirportFilter;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
import seng202.group9.Controller.SceneCode;
|
import seng202.group9.Controller.SceneCode;
|
||||||
|
import seng202.group9.Controller.Session;
|
||||||
import seng202.group9.Core.Airport;
|
import seng202.group9.Core.Airport;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
import static javafx.collections.FXCollections.observableArrayList;
|
import static javafx.collections.FXCollections.observableArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -47,6 +52,8 @@ public class AirportRDController extends Controller{
|
|||||||
|
|
||||||
//Set an empty Dataset to be assigned later
|
//Set an empty Dataset to be assigned later
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
|
//Set an empty session to be assigned to the current session.
|
||||||
|
private Session currentSession = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the initial airport data to the GUI table.
|
* Loads the initial airport data to the GUI table.
|
||||||
@@ -69,7 +76,10 @@ public class AirportRDController extends Controller{
|
|||||||
|
|
||||||
//Assigning the Dataset to the current Dataset's airports and displaying it in a table
|
//Assigning the Dataset to the current Dataset's airports and displaying it in a table
|
||||||
theDataSet = getParent().getCurrentDataset();
|
theDataSet = getParent().getCurrentDataset();
|
||||||
|
currentSession = getParent().getSession();
|
||||||
|
|
||||||
tableViewAirportRD.setItems(observableArrayList(theDataSet.getAirports()));
|
tableViewAirportRD.setItems(observableArrayList(theDataSet.getAirports()));
|
||||||
|
tableViewAirportRD.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openAdd() {
|
public void openAdd() {
|
||||||
@@ -79,6 +89,14 @@ public class AirportRDController extends Controller{
|
|||||||
|
|
||||||
public void openFilter() {
|
public void openFilter() {
|
||||||
createPopUpStage(SceneCode.AIRPORT_FILTER, 600, 480);
|
createPopUpStage(SceneCode.AIRPORT_FILTER, 600, 480);
|
||||||
|
ArrayList<Airport> 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));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,9 +106,25 @@ public class AirportRDController extends Controller{
|
|||||||
*/
|
*/
|
||||||
public void deleteAirport(){
|
public void deleteAirport(){
|
||||||
//Gets an airport from the table and deletes it before updating the table
|
//Gets an airport from the table and deletes it before updating the table
|
||||||
Airport toDelete = tableViewAirportRD.getSelectionModel().getSelectedItem();
|
// Airport toDelete = tableViewAirportRD.getSelectionModel().getSelectedItem();
|
||||||
theDataSet.deleteAirport(toDelete);
|
// theDataSet.deleteAirport(toDelete);
|
||||||
tableViewAirportRD.setItems(observableArrayList(theDataSet.getAirports()));
|
// tableViewAirportRD.setItems(observableArrayList(theDataSet.getAirports()));
|
||||||
|
|
||||||
|
ObservableList<Airport> toDelete = tableViewAirportRD.getSelectionModel().getSelectedItems();
|
||||||
|
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
|
||||||
|
alert.setTitle("Airport Delete Confirmation");
|
||||||
|
alert.setHeaderText("You are about to delete some data.");
|
||||||
|
alert.setContentText("Are you sure you want to delete the selected airport(s)?");
|
||||||
|
//alert.showAndWait();
|
||||||
|
Optional<ButtonType> result = alert.showAndWait();
|
||||||
|
Airport air = null;
|
||||||
|
if (result.isPresent() && result.get() == ButtonType.OK) {
|
||||||
|
for (int i = 0; i < toDelete.size(); i++) {
|
||||||
|
air = toDelete.get(i);
|
||||||
|
theDataSet.deleteAirport(air);
|
||||||
|
}
|
||||||
|
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,10 @@ package seng202.group9.GUI;
|
|||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.Alert;
|
import javafx.scene.control.Alert;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ComboBox;
|
import javafx.scene.control.ComboBox;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.stage.Stage;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -24,6 +26,8 @@ public class RouteAddController extends Controller {
|
|||||||
private TextField rStopsAdd;
|
private TextField rStopsAdd;
|
||||||
@FXML
|
@FXML
|
||||||
private TextField rEquipmentAdd;
|
private TextField rEquipmentAdd;
|
||||||
|
@FXML
|
||||||
|
private Button addButton;
|
||||||
|
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
|
|
||||||
@@ -50,6 +54,16 @@ public class RouteAddController extends Controller {
|
|||||||
rCodeshareAdd.clear();
|
rCodeshareAdd.clear();
|
||||||
rStopsAdd.clear();
|
rStopsAdd.clear();
|
||||||
rEquipmentAdd.clear();
|
rEquipmentAdd.clear();
|
||||||
|
|
||||||
|
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||||
|
alert.setTitle("Route Add Successful");
|
||||||
|
alert.setHeaderText("New Route added!");
|
||||||
|
alert.setContentText("Your new route has been successfully added into the database.");
|
||||||
|
alert.showAndWait();
|
||||||
|
|
||||||
|
Stage stage = (Stage) addButton.getScene().getWindow();
|
||||||
|
stage.close();
|
||||||
|
|
||||||
} catch ( Exception e ) {
|
} catch ( Exception e ) {
|
||||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||||
alert.setTitle("Route Data Error");
|
alert.setTitle("Route Data Error");
|
||||||
|
|||||||
@@ -2,11 +2,18 @@ package seng202.group9.GUI;
|
|||||||
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.scene.control.Alert;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
|
import javafx.stage.Stage;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
import seng202.group9.Controller.RouteFilter;
|
import seng202.group9.Controller.RouteFilter;
|
||||||
|
import seng202.group9.Controller.Session;
|
||||||
import seng202.group9.Core.Route;
|
import seng202.group9.Core.Route;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by Sunguin on 2016/09/23.
|
* Created by Sunguin on 2016/09/23.
|
||||||
*/
|
*/
|
||||||
@@ -24,8 +31,12 @@ public class RouteFilterController extends Controller {
|
|||||||
private TextField rStopsFilter;
|
private TextField rStopsFilter;
|
||||||
@FXML
|
@FXML
|
||||||
private TextField rEquipmentFilter;
|
private TextField rEquipmentFilter;
|
||||||
|
@FXML
|
||||||
|
private Button applyButton;
|
||||||
|
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
|
//Set an empty session to be assigned to the current session.
|
||||||
|
private Session currentSession = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Filters the routes table by any field.
|
* Filters the routes table by any field.
|
||||||
@@ -54,9 +65,27 @@ public class RouteFilterController extends Controller {
|
|||||||
if (rEquipmentFilter.getText() != null) {
|
if (rEquipmentFilter.getText() != null) {
|
||||||
filter.filterEquipment(rEquipmentFilter.getText());
|
filter.filterEquipment(rEquipmentFilter.getText());
|
||||||
}
|
}
|
||||||
|
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||||
|
alert.setTitle("Route Filter Successful");
|
||||||
|
alert.setHeaderText("Route data filtered!");
|
||||||
|
alert.setContentText("Your route data has been successfully filtered.");
|
||||||
|
alert.showAndWait();
|
||||||
|
|
||||||
|
//currentSession.setFilteredAirlines(FXCollections.observableArrayList(filter.getFilteredData()));
|
||||||
|
|
||||||
|
HashMap<Integer, String> routesHM = new HashMap<Integer, String>();
|
||||||
|
ArrayList<Route> routes = filter.getFilteredData();
|
||||||
|
for (int index = 0; index < routes.size(); index++) {
|
||||||
|
routesHM.put(index, routes.get(index).getAirlineName());
|
||||||
|
}
|
||||||
|
currentSession.setFilteredRoutes(routesHM);
|
||||||
|
|
||||||
|
Stage stage = (Stage) applyButton.getScene().getWindow();
|
||||||
|
stage.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
theDataSet = getParent().getCurrentDataset();
|
theDataSet = getParent().getCurrentDataset();
|
||||||
|
currentSession = getParent().getSession();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,19 @@
|
|||||||
package seng202.group9.GUI;
|
package seng202.group9.GUI;
|
||||||
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.cell.PropertyValueFactory;
|
import javafx.scene.control.cell.PropertyValueFactory;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
import seng202.group9.Controller.SceneCode;
|
import seng202.group9.Controller.SceneCode;
|
||||||
import seng202.group9.Controller.RouteFilter;
|
import seng202.group9.Controller.RouteFilter;
|
||||||
|
import seng202.group9.Controller.Session;
|
||||||
import seng202.group9.Core.Route;
|
import seng202.group9.Core.Route;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The GUI controller class for route_raw_data.fxml.
|
* The GUI controller class for route_raw_data.fxml.
|
||||||
* Extends from the abstract class {@link Controller}.
|
* Extends from the abstract class {@link Controller}.
|
||||||
@@ -39,6 +44,8 @@ public class RouteRDController extends Controller {
|
|||||||
|
|
||||||
//Set an empty Dataset to be assigned later
|
//Set an empty Dataset to be assigned later
|
||||||
private Dataset theDataSet = null;
|
private Dataset theDataSet = null;
|
||||||
|
//Set an empty session to be assigned to the current session.
|
||||||
|
private Session currentSession = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the initial route data to the GUI table.
|
* Loads the initial route data to the GUI table.
|
||||||
@@ -58,7 +65,10 @@ public class RouteRDController extends Controller {
|
|||||||
|
|
||||||
//Assigning the Dataset to the current Dataset's routes and displaying it in a table
|
//Assigning the Dataset to the current Dataset's routes and displaying it in a table
|
||||||
theDataSet = getParent().getCurrentDataset();
|
theDataSet = getParent().getCurrentDataset();
|
||||||
|
currentSession = getParent().getSession();
|
||||||
|
|
||||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
||||||
|
tableViewRouteRD.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openAdd() {
|
public void openAdd() {
|
||||||
@@ -68,6 +78,14 @@ public class RouteRDController extends Controller {
|
|||||||
|
|
||||||
public void openFilter() {
|
public void openFilter() {
|
||||||
createPopUpStage(SceneCode.ROUTE_FILTER, 600, 330);
|
createPopUpStage(SceneCode.ROUTE_FILTER, 600, 330);
|
||||||
|
ArrayList<Route> 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));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,10 +95,22 @@ public class RouteRDController extends Controller {
|
|||||||
*/
|
*/
|
||||||
public void deleteRoute() {
|
public void deleteRoute() {
|
||||||
//Gets a route from the table and deletes it before updating the table
|
//Gets a route from the table and deletes it before updating the table
|
||||||
Route toDelete = tableViewRouteRD.getSelectionModel().getSelectedItem();
|
ObservableList<Route> toDelete = tableViewRouteRD.getSelectionModel().getSelectedItems();
|
||||||
theDataSet.deleteRoute(toDelete);
|
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
|
||||||
|
alert.setTitle("Route Delete Confirmation");
|
||||||
|
alert.setHeaderText("You are about to delete some data.");
|
||||||
|
alert.setContentText("Are you sure you want to delete the selected route(s)?");
|
||||||
|
//alert.showAndWait();
|
||||||
|
Optional<ButtonType> result = alert.showAndWait();
|
||||||
|
Route air = null;
|
||||||
|
if (result.isPresent() && result.get() == ButtonType.OK) {
|
||||||
|
for (int i = 0; i < toDelete.size(); i++) {
|
||||||
|
air = toDelete.get(i);
|
||||||
|
theDataSet.deleteRoute(air);
|
||||||
|
}
|
||||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -93,5 +123,6 @@ public class RouteRDController extends Controller {
|
|||||||
|
|
||||||
public void routeSummaryButton() {
|
public void routeSummaryButton() {
|
||||||
replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
||||||
|
currentSession = getParent().getSession();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||||
</GridPane.margin>
|
</GridPane.margin>
|
||||||
</Label>
|
</Label>
|
||||||
<Button mnemonicParsing="false" onAction="#addAirportSingle" text="Add Airport" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="12" />
|
<Button fx:id="addButton" mnemonicParsing="false" onAction="#addAirportSingle" text="Add Airport" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="12" />
|
||||||
<TextField fx:id="airpNameAdd" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
<TextField fx:id="airpNameAdd" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||||
<TextField fx:id="airpCityAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
<TextField fx:id="airpCityAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||||
<TextField fx:id="airpCountryAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
<TextField fx:id="airpCountryAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||||
</GridPane.margin>
|
</GridPane.margin>
|
||||||
</Label>
|
</Label>
|
||||||
<Button mnemonicParsing="false" onAction="#filterAirports" text="Filter Airports" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="12" />
|
<Button fx:id="applyButton" mnemonicParsing="false" onAction="#filterAirports" text="Filter Airports" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="12" />
|
||||||
<TextField fx:id="airpNameFilter" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
<TextField fx:id="airpNameFilter" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||||
<TextField fx:id="airpCityFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
<TextField fx:id="airpCityFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||||
<TextField fx:id="airpCountryFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
<TextField fx:id="airpCountryFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||||
</GridPane.margin>
|
</GridPane.margin>
|
||||||
</Label>
|
</Label>
|
||||||
<Button mnemonicParsing="false" onAction="#addRouteSingle" text="Add Route" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
|
<Button fx:id="addButton" mnemonicParsing="false" onAction="#addRouteSingle" text="Add Route" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
|
||||||
<TextField fx:id="rAirlineAdd" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
<TextField fx:id="rAirlineAdd" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||||
<TextField fx:id="rSourceAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
<TextField fx:id="rSourceAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||||
<TextField fx:id="rDestAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
<TextField fx:id="rDestAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||||
</GridPane.margin>
|
</GridPane.margin>
|
||||||
</Label>
|
</Label>
|
||||||
<Button mnemonicParsing="false" onAction="#filterRoutes" text="Filter Routes" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
|
<Button fx:id="applyButton" mnemonicParsing="false" onAction="#filterRoutes" text="Filter Routes" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
|
||||||
<TextField fx:id="rAirlineFilter" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
<TextField fx:id="rAirlineFilter" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||||
<TextField fx:id="rSourceFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
<TextField fx:id="rSourceFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||||
<TextField fx:id="rDestFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
<TextField fx:id="rDestFilter" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||||
|
|||||||
Reference in New Issue
Block a user