87 lines
3.3 KiB
Java
87 lines
3.3 KiB
Java
package seng202.group9.GUI;
|
|
|
|
import javafx.fxml.FXML;
|
|
import javafx.scene.Node;
|
|
import javafx.scene.control.Alert;
|
|
import javafx.stage.FileChooser;
|
|
import javafx.stage.Stage;
|
|
import seng202.group9.Controller.App;
|
|
import seng202.group9.Controller.DataException;
|
|
import seng202.group9.Controller.SceneCode;
|
|
|
|
import javax.swing.*;
|
|
import java.awt.*;
|
|
import java.io.File;
|
|
|
|
/**
|
|
* Created by fwy13 on 17/09/16.
|
|
*/
|
|
public class Importer{
|
|
/**
|
|
* importer GUI for importing files.
|
|
*/
|
|
public Importer(SceneCode scene, App parent, Stage primaryStage){
|
|
FileChooser chooser = new FileChooser();
|
|
FileChooser.ExtensionFilter filter = new FileChooser.ExtensionFilter(
|
|
"Text & .csv", "*.txt", "*.csv");
|
|
chooser.getExtensionFilters().add(filter);
|
|
File file = chooser.showOpenDialog(primaryStage);
|
|
if (file != null) {
|
|
if (scene == SceneCode.AIRLINE_RAW_DATA) {
|
|
try {
|
|
showSuccessAlert(parent.getCurrentDataset().importAirline(file.getPath()));
|
|
parent.getMenuController().replaceSceneContent(SceneCode.AIRLINE_SUMMARY);
|
|
} catch (DataException e) {
|
|
e.printStackTrace();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else if (scene == SceneCode.AIRPORT_RAW_DATA) {
|
|
try {
|
|
showSuccessAlert(parent.getCurrentDataset().importAirport(file.getPath()));
|
|
parent.getMenuController().replaceSceneContent(SceneCode.AIRPORT_SUMMARY);
|
|
} catch (DataException e) {
|
|
e.printStackTrace();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else if (scene == SceneCode.ROUTE_RAW_DATA) {
|
|
try {
|
|
showSuccessAlert(parent.getCurrentDataset().importRoute(file.getPath()));
|
|
parent.getMenuController().replaceSceneContent(SceneCode.ROUTE_SUMMARY);
|
|
} catch (DataException e) {
|
|
e.printStackTrace();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
} else if (scene == SceneCode.FLIGHT_RAW_DATA) {
|
|
try {
|
|
showSuccessAlert(parent.getCurrentDataset().importFlight(file.getPath()));
|
|
parent.getMenuController().replaceSceneContent(SceneCode.FLIGHT_SUMMARY);
|
|
} catch (DataException e) {
|
|
e.printStackTrace();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void showSuccessAlert(String message){
|
|
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
|
alert.setTitle("Import File Success!");
|
|
alert.setHeaderText("Your File has been Parsed.");
|
|
alert.setContentText(message);
|
|
alert.showAndWait();
|
|
}
|
|
|
|
public void showErrorAlert(String message){
|
|
Alert alert = new Alert(Alert.AlertType.ERROR);
|
|
alert.setTitle("Import File Error");
|
|
alert.setHeaderText("Your File has resulted in an error. This may be because of an invalid file format or a corrupted file.");
|
|
alert.setContentText(message);
|
|
alert.showAndWait();
|
|
}
|
|
|
|
}
|