Delete Code made
This commit is contained in:
@@ -58,6 +58,9 @@ public class App extends Application
|
|||||||
//testing out dataset
|
//testing out dataset
|
||||||
try {
|
try {
|
||||||
currentDataset = new Dataset("test's", Dataset.getExisting);
|
currentDataset = new Dataset("test's", Dataset.getExisting);
|
||||||
|
System.out.println(currentDataset.getAirports().get(8078));
|
||||||
|
currentDataset.deleteAirport(currentDataset.getAirports().get(8078));
|
||||||
|
System.out.println(currentDataset.getAirports().get(8078));
|
||||||
}catch (DataException e){
|
}catch (DataException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
|
|
||||||
@@ -75,14 +78,12 @@ public class App extends Application
|
|||||||
}catch (DataException e){
|
}catch (DataException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
//testout single airline adding
|
//testout single airline adding
|
||||||
try {
|
try {
|
||||||
currentDataset.addAirline("Dota2", "Valve", "D2", "DOT", "Defence of the Ancients", "Steam", "Y");
|
currentDataset.addAirline("Dota2", "Valve", "D2", "DOT", "Defence of the Ancients", "Steam", "Y");
|
||||||
}catch (DataException e){
|
}catch (DataException e){
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
//testing out airport parser
|
//testing out airport parser
|
||||||
try {
|
try {
|
||||||
System.out.println(currentDataset.importAirport("res/Samples/Airports.txt"));
|
System.out.println(currentDataset.importAirport("res/Samples/Airports.txt"));
|
||||||
|
|||||||
@@ -236,6 +236,7 @@ public class Dataset {
|
|||||||
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
createDataLinks();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1024,7 +1025,63 @@ public class Dataset {
|
|||||||
String[] tablesToDrop = {"_Airline", "_Airport", "_City", "_Country", "_Routes", "_Flight_Path", "_Flight_Points"};
|
String[] tablesToDrop = {"_Airline", "_Airport", "_City", "_Country", "_Routes", "_Flight_Path", "_Flight_Points"};
|
||||||
for (int i = 0; i < tablesToDrop.length; i++){
|
for (int i = 0; i < tablesToDrop.length; i++){
|
||||||
stmt = c.createStatement();
|
stmt = c.createStatement();
|
||||||
stmt.execute(tablesToDrop[i]);
|
String dropTableStatment = "DROP TABLE `"+this.name+tablesToDrop[i]+"`";
|
||||||
|
stmt.execute(dropTableStatment);
|
||||||
|
stmt.close();
|
||||||
|
}
|
||||||
|
stmt = c.createStatement();
|
||||||
|
String deleteDatasetEntry = "DELETE FROM `Datasets` WHERE `Dataset_Name` = \""+this.name+"\"";
|
||||||
|
stmt.execute(deleteDatasetEntry);
|
||||||
|
stmt.close();
|
||||||
|
c.close();
|
||||||
|
} catch ( Exception e ) {
|
||||||
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* deletes an airline from the dataset.
|
||||||
|
* @param airline
|
||||||
|
*/
|
||||||
|
public void deleteAirline(Airline airline){
|
||||||
|
//drop the entries
|
||||||
|
Connection c = null;
|
||||||
|
Statement stmt = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.sqlite.JDBC");
|
||||||
|
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
|
||||||
|
String deleteQuery = "DELETE FROM `"+this.name+"_Airline` WHERE `Airline_ID` = " + airline.getID() + ";";
|
||||||
|
stmt = c.createStatement();
|
||||||
|
stmt.execute(deleteQuery);
|
||||||
|
stmt.close();
|
||||||
|
stmt = c.createStatement();
|
||||||
|
//check if number of countries that contain airlines > 0 else delete the country
|
||||||
|
String countCountry = "SELECT COUNT(*) FROM `"+this.name+"_Airline` JOIN `"+this.name+"_Country` ON" +
|
||||||
|
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airline`.`Country`" +
|
||||||
|
" WHERE `"+this.name+"_Airline`.`Country` = \""+airline.getCountry().getName().replace("\"", "\"\"")+"\"";
|
||||||
|
ResultSet countCountryRes = stmt.executeQuery(countCountry);
|
||||||
|
int countryCount = 0;
|
||||||
|
while (countCountryRes.next()){
|
||||||
|
countryCount += countCountryRes.getInt("COUNT(*)");
|
||||||
|
}
|
||||||
|
countCountryRes.close();
|
||||||
|
stmt.close();
|
||||||
|
//check if number of counties that contain airports > 0 else delete the country
|
||||||
|
String countCountryA = "SELECT COUNT(*) FROM `"+this.name+"_Airport` JOIN `"+this.name+"_Country` ON" +
|
||||||
|
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airport`.`Country`" +
|
||||||
|
" WHERE `"+this.name+"_Airport`.`Country` = \""+airline.getCountry().getName().replace("\"", "\"\"")+"\"";
|
||||||
|
countCountryRes = stmt.executeQuery(countCountryA);
|
||||||
|
while (countCountryRes.next()){
|
||||||
|
countryCount += countCountryRes.getInt("COUNT(*)");
|
||||||
|
}
|
||||||
|
countCountryRes.close();
|
||||||
|
stmt.close();
|
||||||
|
//delete country if there are no matches
|
||||||
|
if (countryCount == 0){
|
||||||
|
stmt = c.createStatement();
|
||||||
|
String deleteCountry = "DELETE FROM `"+this.name+"_Country` WHERE `Country_Name` = \""+airline.getCountry().getName()+"\"";
|
||||||
|
stmt.execute(deleteCountry);
|
||||||
stmt.close();
|
stmt.close();
|
||||||
}
|
}
|
||||||
c.close();
|
c.close();
|
||||||
@@ -1032,6 +1089,163 @@ public class Dataset {
|
|||||||
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
airlines.remove(airline);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteAirline(int index){
|
||||||
|
deleteAirline(airlines.get(index));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* deletes an airport from the dataset.
|
||||||
|
* @param airport
|
||||||
|
*/
|
||||||
|
public void deleteAirport(Airport airport){
|
||||||
|
//drop the entries
|
||||||
|
Connection c = null;
|
||||||
|
Statement stmt = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.sqlite.JDBC");
|
||||||
|
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
|
||||||
|
String deleteQuery = "DELETE FROM `"+this.name+"_Airport` WHERE `Airport_ID` = " + airport.getID() + ";";
|
||||||
|
stmt = c.createStatement();
|
||||||
|
stmt.execute(deleteQuery);
|
||||||
|
stmt.close();
|
||||||
|
//check if number of countries that contain airports and airlines > 0 else delete the country
|
||||||
|
String countCountry = "SELECT COUNT(*) FROM `"+this.name+"_Airport` JOIN `"+this.name+"_Country` ON" +
|
||||||
|
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airport`.`Country`" +
|
||||||
|
" WHERE `"+this.name+"_Airport`.`Country` = \""+airport.getCountry().getName().replace("\"", "\"\"")+"\"";
|
||||||
|
ResultSet countCountryRes = stmt.executeQuery(countCountry);
|
||||||
|
int countryCount = 0;
|
||||||
|
while (countCountryRes.next()){
|
||||||
|
countryCount = countCountryRes.getInt("COUNT(*)");
|
||||||
|
}
|
||||||
|
countCountryRes.close();
|
||||||
|
stmt.close();
|
||||||
|
//check if number of countries that contain airlines > 0 else delete the country
|
||||||
|
String countCountryA = "SELECT COUNT(*) FROM `"+this.name+"_Airline` JOIN `"+this.name+"_Country` ON" +
|
||||||
|
" `"+this.name+"_Country`.`Country_Name` = `"+this.name+"_Airline`.`Country`" +
|
||||||
|
" WHERE `"+this.name+"_Airline`.`Country` = \""+airport.getCountry().getName().replace("\"", "\"\"")+"\"";
|
||||||
|
ResultSet countCountryResA = stmt.executeQuery(countCountry);
|
||||||
|
while (countCountryResA.next()){
|
||||||
|
countryCount += countCountryResA.getInt("COUNT(*)");
|
||||||
|
}
|
||||||
|
countCountryResA.close();
|
||||||
|
stmt.close();
|
||||||
|
//delete country if no matches
|
||||||
|
if (countryCount == 0){
|
||||||
|
stmt = c.createStatement();
|
||||||
|
String deleteCountry = "DELETE FROM `"+this.name+"_Country` WHERE `Country_Name` = \""+airport.getCountry().getName()+"\"";
|
||||||
|
stmt.execute(deleteCountry);
|
||||||
|
stmt.close();
|
||||||
|
}
|
||||||
|
//cehck if number cities that contain airports > 0 else delete the city
|
||||||
|
String countCity = "SELECT COUNT(*) FROM `"+this.name+"_Airport` JOIN `"+this.name+"_City` ON" +
|
||||||
|
" `"+this.name+"_City`.`City_Name` = `"+this.name+"_Airport`.`City`" +
|
||||||
|
" WHERE `"+this.name+"_Airport`.`City` = \""+airport.getCityName().replace("\"", "\"\"")+"\"";
|
||||||
|
ResultSet countCityRes = stmt.executeQuery(countCity);
|
||||||
|
int cityCount = 0;
|
||||||
|
while (countCityRes.next()){
|
||||||
|
cityCount = countCityRes.getInt("COUNT(*)");
|
||||||
|
}
|
||||||
|
countCountryRes.close();
|
||||||
|
stmt.close();
|
||||||
|
//delete country if no matches
|
||||||
|
if (cityCount == 0){
|
||||||
|
stmt = c.createStatement();
|
||||||
|
String deleteCity = "DELETE FROM `"+this.name+"_City` WHERE `City_Name` = \""+airport.getCityName()+"\"";
|
||||||
|
stmt.execute(deleteCity);
|
||||||
|
stmt.close();
|
||||||
|
}
|
||||||
|
c.close();
|
||||||
|
} catch ( Exception e ) {
|
||||||
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
airports.remove(airport);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteAirport(int index){
|
||||||
|
deleteAirport(airports.get(index));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* deletes an route from the dataset.
|
||||||
|
* @param route
|
||||||
|
*/
|
||||||
|
public void deleteRoute(Route route){
|
||||||
|
//drop the entries
|
||||||
|
Connection c = null;
|
||||||
|
Statement stmt = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.sqlite.JDBC");
|
||||||
|
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
|
||||||
|
String deleteQuery = "DELETE FROM `"+this.name+"_Routes` WHERE `Route_ID` = " + route.getID() + ";";
|
||||||
|
stmt = c.createStatement();
|
||||||
|
stmt.execute(deleteQuery);
|
||||||
|
c.close();
|
||||||
|
} catch ( Exception e ) {
|
||||||
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
routes.remove(route);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteRoute(int index){
|
||||||
|
deleteRoute(routes.get(index));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* deletes an airline from the dataset.
|
||||||
|
* @param flightPath
|
||||||
|
*/
|
||||||
|
public void deleteFlightPath(FlightPath flightPath){
|
||||||
|
//delete all flight points with the id
|
||||||
|
while(flightPath.getFlightPoints().size() > 0){
|
||||||
|
deleteFlightPoint(flightPath.getFlightPoints().get(0), flightPath);
|
||||||
|
}
|
||||||
|
//drop the entries
|
||||||
|
Connection c = null;
|
||||||
|
Statement stmt = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.sqlite.JDBC");
|
||||||
|
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
|
||||||
|
String deleteQuery = "DELETE FROM `"+this.name+"_Flight_Path` WHERE `Path_ID` = " + flightPath.getID() + ";";
|
||||||
|
stmt = c.createStatement();
|
||||||
|
stmt.execute(deleteQuery);
|
||||||
|
c.close();
|
||||||
|
} catch ( Exception e ) {
|
||||||
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
flightPaths.remove(flightPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteFlightPath(int index){
|
||||||
|
deleteFlightPath(flightPaths.get(index));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* deletes an airline from the dataset.
|
||||||
|
* @param flightPoint
|
||||||
|
*/
|
||||||
|
public void deleteFlightPoint(FlightPoint flightPoint, FlightPath flightPath){
|
||||||
|
//drop the tables
|
||||||
|
Connection c = null;
|
||||||
|
Statement stmt = null;
|
||||||
|
try {
|
||||||
|
Class.forName("org.sqlite.JDBC");
|
||||||
|
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
|
||||||
|
String deleteQuery = "DELETE FROM `"+this.name+"_Flight_Points` WHERE `Point_ID` = " + flightPoint.getID() + ";";
|
||||||
|
stmt = c.createStatement();
|
||||||
|
stmt.execute(deleteQuery);
|
||||||
|
c.close();
|
||||||
|
} catch ( Exception e ) {
|
||||||
|
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
|
||||||
|
System.exit(0);
|
||||||
|
}
|
||||||
|
flightPath.getFlightPoints().remove(flightPoint);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteFlightPoint(int pathIndex, int pointIndex){
|
||||||
|
deleteFlightPoint(flightPaths.get(pathIndex).getFlightPoints().get(pointIndex), flightPaths.get(pathIndex));
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Airline> getAirlines() {
|
public ArrayList<Airline> getAirlines() {
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public class FlightPoint {
|
|||||||
public FlightPoint(String type, String name, double altitude, double latitude, double longitude){
|
public FlightPoint(String type, String name, double altitude, double latitude, double longitude){
|
||||||
//extra calculations will have to be used to find heading, legdistance and total distance. If necessary
|
//extra calculations will have to be used to find heading, legdistance and total distance. If necessary
|
||||||
//Type 1 file the file the lecturers gave us
|
//Type 1 file the file the lecturers gave us
|
||||||
|
//indexID = flight path ID
|
||||||
|
//ID = unique Auto Increment value
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.ID = -1;
|
this.ID = -1;
|
||||||
this.indexID = -1;
|
this.indexID = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user