diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index 53f1e34..6b2e3c8 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -23,7 +23,7 @@ import seng202.group9.GUI.MenuController; */ public class App extends Application { - private ArrayList Datasets = new ArrayList(); + private ArrayList datasets = new ArrayList(); private Dataset currentDataset = null; private Stage primaryStage = null; private VBox mainContainer; @@ -136,4 +136,9 @@ public class App extends Application public Dataset getCurrentDataset(){ return currentDataset; } + + public void deleteDataset(Dataset dataset){ + dataset.deleteDataset(); + datasets.remove(dataset); + } } diff --git a/src/main/java/seng202/group9/Controller/Dataset.java b/src/main/java/seng202/group9/Controller/Dataset.java index dd7c3dd..795c7bf 100644 --- a/src/main/java/seng202/group9/Controller/Dataset.java +++ b/src/main/java/seng202/group9/Controller/Dataset.java @@ -1011,6 +1011,29 @@ public class Dataset { } } + /** + * This is called in conjunction to the App deleteDataset DO NOT CALL UNLESS THROUGH APP.DELETEDATASET + */ + public void deleteDataset(){ + //drop the tables + Connection c = null; + Statement stmt = null; + try { + Class.forName("org.sqlite.JDBC"); + c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db"); + String[] tablesToDrop = {"_Airline", "_Airport", "_City", "_Country", "_Routes", "_Flight_Path", "_Flight_Points"}; + for (int i = 0; i < tablesToDrop.length; i++){ + stmt = c.createStatement(); + stmt.execute(tablesToDrop[i]); + stmt.close(); + } + c.close(); + } catch ( Exception e ) { + System.err.println( e.getClass().getName() + ": " + e.getMessage() ); + System.exit(0); + } + } + public ArrayList getAirlines() { return airlines; }