Made route RD display things in the table and added functionality to the add button
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
package seng202.group9.Controller;
|
||||
|
||||
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ObservableList;
|
||||
import seng202.group9.Core.*;
|
||||
|
||||
import java.sql.Connection;
|
||||
@@ -593,15 +591,15 @@ public class Dataset {
|
||||
" `Codeshare`, `Stops`, `Equipment`) VALUES ";
|
||||
int numOfRoutes = 0;
|
||||
for (int i = 0; i < routesToImport.size(); i ++){
|
||||
String routeIdentifier = routesToImport.get(i).getAirline() + routesToImport.get(i).departsFrom() + routesToImport.get(i).arrivesAt() +
|
||||
String routeIdentifier = routesToImport.get(i).getAirline() + routesToImport.get(i).getDepartureAirport() + routesToImport.get(i).getArrivalAirport() +
|
||||
routesToImport.get(i).getCode() + routesToImport.get(i).getStops() + routesToImport.get(i).getEquipment();
|
||||
if (routeDictionary.containsKey(routeIdentifier)){
|
||||
numOfDuplicates ++;
|
||||
}else{
|
||||
//route variables
|
||||
String routeAirline = routesToImport.get(i).getAirline().replace("\"", "\"\"");
|
||||
String routeSource = routesToImport.get(i).departsFrom().replace("\"", "\"\"");
|
||||
String routeDestination = routesToImport.get(i).arrivesAt().replace("\"", "\"\"");
|
||||
String routeSource = routesToImport.get(i).getDepartureAirport().replace("\"", "\"\"");
|
||||
String routeDestination = routesToImport.get(i).getArrivalAirport().replace("\"", "\"\"");
|
||||
String routeCode = routesToImport.get(i).getCode().replace("\"", "\"\"");
|
||||
int routeStops = routesToImport.get(i).getStops();
|
||||
String routeEquipment = routesToImport.get(i).getEquipment().replace("\"", "\"\"");
|
||||
@@ -934,10 +932,10 @@ public class Dataset {
|
||||
if (routeToAdd.getAirline().length() != 2 && routeToAdd.getAirline().length() != 3){
|
||||
throw new DataException("Airline ICAO code must be 2 or 3 letters.");
|
||||
}
|
||||
if (routeToAdd.departsFrom().length() != 3 && routeToAdd.departsFrom().length() != 4){
|
||||
if (routeToAdd.getDepartureAirport().length() != 3 && routeToAdd.getDepartureAirport().length() != 4){
|
||||
throw new DataException("Airport Source Airport IATA must be 3 letters or 4 letters if ICAO.");
|
||||
}
|
||||
if (routeToAdd.arrivesAt().length() != 3 && routeToAdd.arrivesAt().length() != 4){
|
||||
if (routeToAdd.getArrivalAirport().length() != 3 && routeToAdd.getArrivalAirport().length() != 4){
|
||||
throw new DataException("Airport Destination Airport IATA must be 3 letters or 4 letters if ICAO.");
|
||||
}
|
||||
if (routeToAdd.getCode().length() != 0 && routeToAdd.getCode().length() != 1){
|
||||
@@ -956,8 +954,8 @@ public class Dataset {
|
||||
//add the airline
|
||||
stmt = c.createStatement();
|
||||
String airline = routeToAdd.getAirline().replace("\"", "\"\"");
|
||||
String sourceAir = routeToAdd.departsFrom().replace("\"", "\"\"");
|
||||
String destAir = routeToAdd.arrivesAt().replace("\"", "\"\"");
|
||||
String sourceAir = routeToAdd.getDepartureAirport().replace("\"", "\"\"");
|
||||
String destAir = routeToAdd.getArrivalAirport().replace("\"", "\"\"");
|
||||
String equipment = routeToAdd.getEquipment().replace("\"", "\"\"");
|
||||
String insertRouteQuery = "INSERT INTO `" + this.name + "_Routes` (`Airline`, `Source_Airport`, `Destination_Airport`," +
|
||||
" `Codeshare`, `Stops`, `Equipment`) VALUES (\""+airline+"\", \""+sourceAir+"\", \""+destAir+"\", " +
|
||||
@@ -974,7 +972,7 @@ public class Dataset {
|
||||
routeToAdd.setID(routeID);
|
||||
routes.add(routeToAdd);
|
||||
//routeAirline + routeSourceAirport + routeArrvAirport + routeCodeShare + routeStops + routeEquip
|
||||
String routeKey = routeToAdd.getAirline() + routeToAdd.departsFrom() + routeToAdd.arrivesAt() + routeToAdd.getCode() + routeToAdd.getStops() + routeToAdd.getEquipment();
|
||||
String routeKey = routeToAdd.getAirline() + routeToAdd.getDepartureAirport() + routeToAdd.getArrivalAirport() + routeToAdd.getCode() + routeToAdd.getStops() + routeToAdd.getEquipment();
|
||||
routeDictionary.put(routeKey, routeToAdd);
|
||||
} catch ( Exception e ) {
|
||||
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||
|
||||
@@ -148,14 +148,14 @@ public class Route {
|
||||
* returns the source airport of this route
|
||||
* @return
|
||||
*/
|
||||
public String departsFrom(){
|
||||
public String getDepartureAirport(){
|
||||
return departureAirport;
|
||||
}
|
||||
/**
|
||||
* returns the target airport of this route.
|
||||
* @return
|
||||
*/
|
||||
public String arrivesAt(){
|
||||
public String getArrivalAirport(){
|
||||
return arrivalAirport;
|
||||
}
|
||||
|
||||
@@ -164,8 +164,8 @@ public class Route {
|
||||
*/
|
||||
public void hasDuplicate(Route route) throws DataException{
|
||||
//routeAirline + routeSourceAirport + routeArrvAirport + routeCodeShare + routeStops + routeEquip
|
||||
if (route.getAirline().equals(this.airline) && route.departsFrom().equals(this.departureAirport)
|
||||
&& route.arrivesAt().equals(this.arrivalAirport) && route.getCode().equals(this.codeShare)
|
||||
if (route.getAirline().equals(this.airline) && route.getDepartureAirport().equals(this.departureAirport)
|
||||
&& route.getArrivalAirport().equals(this.arrivalAirport) && route.getCode().equals(this.codeShare)
|
||||
&& route.getStops() == this.stops && route.getEquipment().equals(this.equipment)){
|
||||
throw new DataException("This Route already exists.");
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ public class AirportRDController extends MenuController{
|
||||
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
|
||||
} catch ( Exception e ) {
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Airline Data Error");
|
||||
alert.setTitle("Airport Data Error");
|
||||
alert.setHeaderText("Error adding a custom airport entry.");
|
||||
alert.setContentText(e.getMessage());
|
||||
alert.showAndWait();
|
||||
|
||||
@@ -59,7 +59,7 @@ public class MenuController implements Initializable{
|
||||
try {
|
||||
RouteRDController summaryController = (RouteRDController) parent.replaceSceneContent("route_raw_data.fxml");
|
||||
summaryController.setApp(parent);
|
||||
//summaryController.loadTables();
|
||||
summaryController.loadTables();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -1,14 +1,109 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import seng202.group9.Controller.App;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Core.Airline;
|
||||
import seng202.group9.Core.Route;
|
||||
|
||||
/**
|
||||
* Created by Sunguin on 2016/09/14.
|
||||
*/
|
||||
public class RouteRDController extends MenuController {
|
||||
|
||||
@FXML
|
||||
private TableView<Route> tableViewRouteRD;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rAirlineCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rAirlineIDCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rSourceCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rSourceIDCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rDestCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rDestIDCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rCodeshareCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rStopsCol;
|
||||
@FXML
|
||||
private TableColumn<Route, String> rEquipmentCol;
|
||||
|
||||
@FXML
|
||||
private TextField rAirlineBox;
|
||||
@FXML
|
||||
private TextField rAirlineIDBox;
|
||||
@FXML
|
||||
private TextField rSourceBox;
|
||||
@FXML
|
||||
private TextField rSourceIDBox;
|
||||
@FXML
|
||||
private TextField rDestBox;
|
||||
@FXML
|
||||
private TextField rDestIDBox;
|
||||
@FXML
|
||||
private TextField rCodeshareBox;
|
||||
@FXML
|
||||
private TextField rStopsBox;
|
||||
@FXML
|
||||
private TextField rEquipmentBox;
|
||||
|
||||
|
||||
App parent;
|
||||
|
||||
public void setApp(App parent){
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
public void loadTables() {
|
||||
rAirlineCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Airline"));
|
||||
//rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
|
||||
rSourceCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DepartureAirport"));
|
||||
//rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
|
||||
rDestCol.setCellValueFactory(new PropertyValueFactory<Route, String>("ArrivalAirport"));
|
||||
//rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
|
||||
rCodeshareCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Code"));
|
||||
rStopsCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Stops"));
|
||||
rEquipmentCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Equipment"));
|
||||
|
||||
theDataSet = this.parent.getCurrentDataset();
|
||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
||||
}
|
||||
|
||||
public void addRouteSingle() {
|
||||
try {
|
||||
theDataSet.addRoute(
|
||||
rAirlineBox.getText(),
|
||||
rSourceBox.getText(),
|
||||
rDestBox.getText(),
|
||||
rCodeshareBox.getText(),
|
||||
rStopsBox.getText(),
|
||||
rEquipmentBox.getText()
|
||||
);
|
||||
rAirlineBox.clear();
|
||||
rSourceBox.clear();
|
||||
rDestBox.clear();
|
||||
rCodeshareBox.clear();
|
||||
rStopsBox.clear();
|
||||
rEquipmentBox.clear();
|
||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
|
||||
} catch ( Exception e ) {
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Route Data Error");
|
||||
alert.setHeaderText("Error adding a custom route entry.");
|
||||
alert.setContentText(e.getMessage());
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user