Merged CreateLinks Branch which allowed CreateLinks() function to work along with new Import Messages

This commit is contained in:
YaFedImYaEatIm
2016-09-16 00:13:55 +12:00
13 changed files with 222 additions and 88 deletions
@@ -118,8 +118,8 @@ public class AirlineParser extends Parser {
}
}
return String.format("Entries Successfully Entered: %1$d.\n" +
"Entries With Errors: %2$d", successful, error);
return String.format("Airlines Successfully Entered: %1$d.\n" +
"Airlines With Errors: %2$d", successful, error);
}
public ArrayList<Airline> getResult(){
@@ -169,8 +169,8 @@ public class AirportParser extends Parser {
}
}
return String.format("Entries Successfully Entered: %1$d.\n" +
"Entries With Errors: %2$d", successful, error);
return String.format("Airports Successfully Entered: %1$d.\n" +
"Airports With Errors: %2$d", successful, error);
}
public ArrayList<Airport> getResult(){
@@ -62,7 +62,7 @@ public class App extends Application
e.printStackTrace();
}
/*
//testout single route adding
try {
currentDataset.addRoute("D2", "MAC", "WIN", "Y", "0", "NOW");
@@ -83,7 +83,6 @@ public class App extends Application
e.printStackTrace();
}
//testing out airport parser
try {
System.out.println(currentDataset.importAirport("res/Samples/Airports.txt"));
@@ -108,7 +107,7 @@ public class App extends Application
System.out.println(currentDataset.importFlight("res/Samples/NZCH-WSSS.csv"));
} catch (DataException e) {
e.printStackTrace();
}
}*/
}
@@ -8,6 +8,7 @@ import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
public class Dataset {
@@ -389,13 +390,13 @@ public class Dataset {
numOfDuplicates ++;
}else{
//insert import into database
String airName = airlinesToImport.get(i).getName().replace("'", "''").replace("\"", "\"\"");
String airAlias = airlinesToImport.get(i).getAlias().replace("'", "''").replace("\"", "\"\"");
String airIATA = airlinesToImport.get(i).getIATA().replace("'", "''").replace("\"", "\"\"");
String airICAO = airlinesToImport.get(i).getICAO().replace("'", "''").replace("\"", "\"\"");
String airCallsign = airlinesToImport.get(i).getCallSign().replace("'", "''").replace("\"", "\"\"");
String airCountry = airlinesToImport.get(i).getCountry().replace("'", "''").replace("\"", "\"\"");
String airActive = airlinesToImport.get(i).getActive().replace("'", "''").replace("\"", "\"\"");
String airName = airlinesToImport.get(i).getName().replace("\"", "\"\"");
String airAlias = airlinesToImport.get(i).getAlias().replace("\"", "\"\"");
String airIATA = airlinesToImport.get(i).getIATA().replace("\"", "\"\"");
String airICAO = airlinesToImport.get(i).getICAO().replace("\"", "\"\"");
String airCallsign = airlinesToImport.get(i).getCallSign().replace("\"", "\"\"");
String airCountry = airlinesToImport.get(i).getCountryName().replace("\"", "\"\"");
String airActive = airlinesToImport.get(i).getActive().replace("\"", "\"\"");
if (numOfAirlines > 0){
insertAirlineQuery += ",";
}
@@ -465,8 +466,8 @@ public class Dataset {
} else {
//airport variables
String airpName = airportsToImport.get(i).getName().replace("\"", "\"\"");
String airpCity = airportsToImport.get(i).getCity().replace("\"", "\"\"");
String airpCountry = airportsToImport.get(i).getCountry().replace("\"", "\"\"");
String airpCity = airportsToImport.get(i).getCityName().replace("\"", "\"\"");
String airpCountry = airportsToImport.get(i).getCountryName().replace("\"", "\"\"");
String airpIATA_FFA = airportsToImport.get(i).getIATA_FFA().replace("\"", "\"\"");
String airpICAO = airportsToImport.get(i).getICAO().replace("\"", "\"\"");
double airpLat = airportsToImport.get(i).getLatitude();
@@ -597,7 +598,7 @@ public class Dataset {
numOfDuplicates ++;
}else{
//route variables
String routeAirline = routesToImport.get(i).getAirline().replace("\"", "\"\"");
String routeAirline = routesToImport.get(i).getAirlineName().replace("\"", "\"\"");
String routeSource = routesToImport.get(i).getDepartureAirport().replace("\"", "\"\"");
String routeDestination = routesToImport.get(i).getArrivalAirport().replace("\"", "\"\"");
String routeCode = routesToImport.get(i).getCode().replace("\"", "\"\"");
@@ -733,7 +734,37 @@ public class Dataset {
*/
public void createDataLinks(){
//this may be seperated into more sepearate function in the future for time optimisation
//create Airline country link
for (Airline airline: airlines){
airline.setCountry(countryDictionary.get(airline.getCountryName()));
}
//create Airport City and Country Link
HashMap<String, Airport> airportsByIATA = new HashMap<String, Airport>(); //this is used later for connecting the routes
HashMap<String, Airport> airportsByICAO = new HashMap<String, Airport>(); //this is used later for connecting the routes
for (Airport airport: airports){
airportsByIATA.put(airport.getIATA_FFA(), airport);
airportsByICAO.put(airport.getICAO(), airport);
airport.setCountry(countryDictionary.get(airport.getCountryName()));
//TODO Add City in country (This is extra work).
airport.setCity(cityDictionary.get(airport.getCityName()));
airport.getCity().addAirport(airport);
}
//set Airport variables for route
for (Route route: routes){
if (route.getDepartureAirport().length() > 3){
route.setSourceAirport(airportsByICAO.get(route.getDepartureAirport()));
}else{
route.setSourceAirport(airportsByIATA.get(route.getDepartureAirport()));
}
if (route.getArrivalAirport().length() > 3){
route.setDestinationAirport(airportsByICAO.get(route.getArrivalAirport()));
}else{
route.setDestinationAirport(airportsByIATA.get(route.getArrivalAirport()));
}
route.setAirline(airlineDictionary.get(route.getAirlineName()));
}
System.out.println("Links Made");
}
/**
@@ -777,7 +808,7 @@ public class Dataset {
String insertAirlineQuery = "INSERT INTO `" + this.name + "_Airline` (`Name`, `Alias`, `IATA`, `ICAO`" +
", `Callsign`, `Country`, `Active`) VALUES (\""+airlineToAdd.getName()+"\", \"" + airlineToAdd.getAlias() + "\", " +
"\"" + airlineToAdd.getIATA() + "\", \"" + airlineToAdd.getICAO() + "\", \"" + airlineToAdd.getCallSign() + "\", " +
"\"" + airlineToAdd.getCountry() + "\", \"" + airlineToAdd.getActive() + "\");";
"\"" + airlineToAdd.getCountryName() + "\", \"" + airlineToAdd.getActive() + "\");";
stmt.execute(insertAirlineQuery);
//get the airline id
stmt = c.createStatement();
@@ -834,8 +865,8 @@ public class Dataset {
//add the airport
stmt = c.createStatement();
String insertAirportQuery = "INSERT INTO `" + this.name + "_Airport` (`Name`, `City`, `Country`, `IATA/FFA`, " +
"`ICAO`, `Latitude`, `Longitude`, `Altitude`) VALUES (\""+airportToAdd.getName()+"\", \""+airportToAdd.getCity()+"\", " +
"\""+airportToAdd.getCountry()+"\", \""+airportToAdd.getIATA_FFA()+"\", \""+airportToAdd.getICAO()+"\", " +
"`ICAO`, `Latitude`, `Longitude`, `Altitude`) VALUES (\""+airportToAdd.getName()+"\", \""+airportToAdd.getCityName()+"\", " +
"\""+airportToAdd.getCountryName()+"\", \""+airportToAdd.getIATA_FFA()+"\", \""+airportToAdd.getICAO()+"\", " +
""+airportToAdd.getLatitude()+", "+airportToAdd.getLongitude()+", "+airportToAdd.getAltitude()+");";
stmt.execute(insertAirportQuery);
//get the airport id
@@ -929,7 +960,7 @@ public class Dataset {
}
public void addRoute(Route routeToAdd) throws DataException{
if (routeToAdd.getAirline().length() != 2 && routeToAdd.getAirline().length() != 3){
if (routeToAdd.getAirlineName().length() != 2 && routeToAdd.getAirlineName().length() != 3){
throw new DataException("Airline ICAO code must be 2 or 3 letters.");
}
if (routeToAdd.getDepartureAirport().length() != 3 && routeToAdd.getDepartureAirport().length() != 4){
@@ -953,7 +984,7 @@ public class Dataset {
c = DriverManager.getConnection("jdbc:sqlite:res/userdb.db");
//add the airline
stmt = c.createStatement();
String airline = routeToAdd.getAirline().replace("\"", "\"\"");
String airline = routeToAdd.getAirlineName().replace("\"", "\"\"");
String sourceAir = routeToAdd.getDepartureAirport().replace("\"", "\"\"");
String destAir = routeToAdd.getArrivalAirport().replace("\"", "\"\"");
String equipment = routeToAdd.getEquipment().replace("\"", "\"\"");
@@ -147,8 +147,8 @@ public class FlightPathParser extends Parser {
}
}
return String.format("Entries Successfully Entered: %1$d.\n" +
"Entries With Errors: %2$d", successful, error);
return String.format("Flight Points Successfully Entered: %1$d.\n" +
"Flight Points With Errors: %2$d", successful, error);
}
public ArrayList<FlightPoint> getResult(){
@@ -149,8 +149,8 @@ public class RouteParser extends Parser {
}
}
return String.format("Entries Successfully Entered: %1$d.\n" +
"Entries With Errors: %2$d", successful, error);
return String.format("Routes Successfully Entered: %1$d.\n" +
"Routes With Errors: %2$d", successful, error);
}
public ArrayList<Route> getResult(){