From 5363cf8b4e4dd510e6594a44eb5d88afb968fda7 Mon Sep 17 00:00:00 2001 From: YaFedImYaEatIm Date: Sat, 17 Sep 2016 20:06:19 +1200 Subject: [PATCH] COnnected maps to airlines, Airports and ROutes --- res/userdb.db | Bin 4368384 -> 4374528 bytes .../java/seng202/group9/Controller/App.java | 2 ++ .../seng202/group9/Controller/Dataset.java | 11 ++++++ .../seng202/group9/Controller/SceneCode.java | 2 +- .../java/seng202/group9/Core/Airport.java | 2 +- .../java/seng202/group9/Core/Country.java | 13 +++++++ .../group9/GUI/AirlineSummaryController.java | 25 ++++++++++++- .../group9/GUI/AirportSummaryController.java | 18 ++++++++++ .../group9/GUI/FlightSummaryController.java | 2 +- .../group9/GUI/RouteSummaryController.java | 33 +++++++++++++++++- src/main/java/seng202/group9/Map/Map.java | 5 +++ src/main/resources/map.html | 8 +++-- 12 files changed, 114 insertions(+), 7 deletions(-) diff --git a/res/userdb.db b/res/userdb.db index 13e6d06760233c8dd7029d8ffe6c077544053f46..fb61485b82fd1f7058cb99a120440250c2949fa1 100644 GIT binary patch delta 5493 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 delta 1049 zcma)3OK4PA7{2$Oc|SOS~|-S0^`^ zRBaxMuh?#CFJ!tXv!d1Jd;zB8OX@z=&CNT@aa~9`6-}%1p z{Evl&FO`K`UnpN~ja-nV@KtGjUAowD(0@VNd%yOF{IZbiEB}dxQ1Gs}CMa%H+a5$h z!cE+YyMv8i`-JF`-N<-T<=@77b&EJ4`K2yN`C0i)zAm5hLT@XNmB$y8QMapm!2K;A zaAV_jyR&LMo3`@Cte!rcRntRA4W!1@j_gow%E+oneS!`(J7SxbI{dMj zTcZpbxx8sjuHBOb$8=`$9{IVaX9L^O51Z4@i&)0CCZ7|>Qpt?R%H&p+tAH`NDvLhL z&tnZ2^G0#asFLoj$^ox&zo*;Xk=||Y?a}67DcasHFWT-uqr2Q+;x$M6O=oVU+?7*b zuTMQPlpZ~j@;v+P8OtfY__mU?Ic0omTkBO17p84X-w0R!@2d?f;VYHU;3E@3_Wl6p#m*s?J~M3;^`c>U)6h@Yg_$W!w~RCTtCK?gUKf#4k<>CNHTx3d`i;(6 z_owb-0kb6#JwM^KGdA)P*+!M#^-8olZ%l4^w68MT{f8VF2nV7^d%RC}y6U*!of~P9 zo0dSxghB|yNBD^V5hQAeO~huRmIx7b#A`%75hfx;1JOt{5zRyk5hY^87UFecE73~4 zLA*(9BUGY|c#CK!wi7#uw~3uZoY+O|CiV~=#9m?_v7hK9x`+eBL86=JA$o~E;vM2$ z;yvPh;sfGC;v?b^ksy+np>1D2rzI+h!E2)Qa9)d5ecxzL#PW}t?}~3hi`Dr>t0eA- bviMx+qO^$cv1;doNLg`PhyT9(trmI;Sa)54 diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index f07a6c2..82274af 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -50,6 +50,7 @@ public class App extends Application InputStream in = getClass().getClassLoader().getResourceAsStream("menu.fxml"); mainContainer = (VBox) loader.load(in); Scene scene = new Scene(mainContainer, 800, 600); + primaryStage.setResizable(false); primaryStage.setScene(scene); primaryStage.sizeToScene(); MenuController menuController = (MenuController) loader.getController(); @@ -135,6 +136,7 @@ public class App extends Application System.out.println("Missing Session Class"); System.exit(1); } catch (Exception e) { + session = new Session(); e.printStackTrace(); } } diff --git a/src/main/java/seng202/group9/Controller/Dataset.java b/src/main/java/seng202/group9/Controller/Dataset.java index 5c878be..a23bc22 100644 --- a/src/main/java/seng202/group9/Controller/Dataset.java +++ b/src/main/java/seng202/group9/Controller/Dataset.java @@ -752,6 +752,7 @@ public class Dataset { airportsByIATA.put(airport.getIATA_FFA(), airport); airportsByICAO.put(airport.getICAO(), airport); airport.setCountry(countryDictionary.get(airport.getCountryName())); + //airport.getCountry().setPosition(new Position(airport.getLatitude(), airport.getLongitude())); //TODO Add City in country (This is extra work). airport.setCity(cityDictionary.get(airport.getCityName())); airport.getCity().addAirport(airport); @@ -846,6 +847,7 @@ public class Dataset { addAirport(airportToAdd); addCity(cityToAdd); addCountry(countryToAdd); + createDataLinks(); }catch (NumberFormatException e){ throw new DataException("Latitude, Longitude, Altitude and Timezone must be numbers"); } @@ -858,6 +860,9 @@ public class Dataset { if (airportToAdd.getICAO() != "" && airportToAdd.getICAO().length() != 4){ throw new DataException("ICAO either empty or 4 letters"); } + if (airportToAdd.getName() == ""){ + throw new DataException("An Airport cannot have no name."); + } for (String key : airportDictionary.keySet()){ airportDictionary.get(key).hasDuplicate(airportToAdd); } @@ -875,6 +880,7 @@ public class Dataset { "\""+airportToAdd.getCountryName()+"\", \""+airportToAdd.getIATA_FFA()+"\", \""+airportToAdd.getICAO()+"\", " + ""+airportToAdd.getLatitude()+", "+airportToAdd.getLongitude()+", "+airportToAdd.getAltitude()+");"; stmt.execute(insertAirportQuery); + stmt.close(); //get the airport id stmt = c.createStatement(); String airportIDQuery = "SELECT * FROM `sqlite_sequence` WHERE `name` = \""+this.name+"_Airport\" LIMIT 1;"; @@ -886,6 +892,9 @@ public class Dataset { airportToAdd.setID(airportID); airports.add(airportToAdd); airportDictionary.put(airportToAdd.getName(), airportToAdd); + airportIDRes.close(); + stmt.close(); + c.close(); } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); System.exit(0); @@ -910,6 +919,7 @@ public class Dataset { stmt.close(); cityDictionary.put(city.getName(), city); cities.add(city); + c.close(); } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); System.exit(0); @@ -934,6 +944,7 @@ public class Dataset { stmt.close(); countryDictionary.put(country.getName(), country); countries.add(country); + c.close(); } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ); System.exit(0); diff --git a/src/main/java/seng202/group9/Controller/SceneCode.java b/src/main/java/seng202/group9/Controller/SceneCode.java index 0102cf0..f8d2382 100644 --- a/src/main/java/seng202/group9/Controller/SceneCode.java +++ b/src/main/java/seng202/group9/Controller/SceneCode.java @@ -7,7 +7,7 @@ public enum SceneCode { INITIAL(""), AIRLINE_SUMMARY("airline_summary.fxml"), AIRLINE_RAW_DATA("airline_raw_data.fxml"), AIRPORT_SUMMARY("airport_summary.fxml"), AIRPORT_RAW_DATA("airport_raw_data.fxml"), ROUTE_SUMMARY("routes_summary.fxml"), ROUTE_RAW_DATA("route_raw_data.fxml"), FLIGHT_SUMMARY("flight_data_summary.fxml"), - FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml");; + FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml"); private String filePath; diff --git a/src/main/java/seng202/group9/Core/Airport.java b/src/main/java/seng202/group9/Core/Airport.java index e4ee64e..447e0e5 100644 --- a/src/main/java/seng202/group9/Core/Airport.java +++ b/src/main/java/seng202/group9/Core/Airport.java @@ -365,7 +365,7 @@ public class Airport { return distance; } public void hasDuplicate(Airport airport) throws DataException{ - if (!airport.getName().equals("") && airport.getName().equals(this.name)){ + if (airport.getName().equals("") || airport.getName().equals(this.name)){ throw new DataException("Airport Name already Exists, Please Choose Another."); } if (!airport.getIATA_FFA().equals("") && airport.getIATA_FFA().equals(this.name)){ diff --git a/src/main/java/seng202/group9/Core/Country.java b/src/main/java/seng202/group9/Core/Country.java index 76acd31..6db3010 100644 --- a/src/main/java/seng202/group9/Core/Country.java +++ b/src/main/java/seng202/group9/Core/Country.java @@ -6,6 +6,7 @@ public class Country { private String DST, name; private ArrayList cities = new ArrayList(); private ArrayList airlines = new ArrayList(); + private Position position; public Country(String DST, String name){ this.DST = DST; @@ -81,4 +82,16 @@ public class Country { public void delCities(int index){ this.cities.remove(index); } + + public ArrayList getCities() { + return cities; + } + + public Position getPosition() { + return position; + } + + public void setPosition(Position position) { + this.position = position; + } } diff --git a/src/main/java/seng202/group9/GUI/AirlineSummaryController.java b/src/main/java/seng202/group9/GUI/AirlineSummaryController.java index 1ce7873..f161102 100644 --- a/src/main/java/seng202/group9/GUI/AirlineSummaryController.java +++ b/src/main/java/seng202/group9/GUI/AirlineSummaryController.java @@ -1,15 +1,22 @@ package seng202.group9.GUI; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.fxml.FXML; import javafx.scene.Scene; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.web.WebView; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; import seng202.group9.Controller.SceneCode; import seng202.group9.Core.Airline; +import seng202.group9.Core.Airport; +import seng202.group9.Core.Position; +import seng202.group9.Core.RoutePath; +import seng202.group9.Map.Map; /** * Created by michael on 14/09/2016. @@ -18,6 +25,8 @@ public class AirlineSummaryController extends Controller{ @FXML private TableView tableView; @FXML + private WebView mapView; + @FXML private TableColumn columnName; @FXML private TableColumn columnAlias; @@ -30,14 +39,28 @@ public class AirlineSummaryController extends Controller{ private Dataset currentData = null; + private Map map; + public void load() { columnName.setCellValueFactory(new PropertyValueFactory("Name")); columnAlias.setCellValueFactory(new PropertyValueFactory("Alias")); - columnCountry.setCellValueFactory(new PropertyValueFactory("Country")); + columnCountry.setCellValueFactory(new PropertyValueFactory("CountryName")); columnIATA.setCellValueFactory(new PropertyValueFactory("IATA")); columnActive.setCellValueFactory(new PropertyValueFactory("Active")); currentData = getParent().getCurrentDataset(); tableView.setItems(FXCollections.observableArrayList(currentData.getAirlines())); + map = new Map(mapView, new RoutePath()); + tableView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { + public void changed(ObservableValue observable, Airline oldValue, Airline newValue) { + Airline selectedAirline= currentData.getAirlines().get(tableView.getSelectionModel().getSelectedIndices().get(0)); + for (int i = 0 ; i < currentData.getAirports().size(); i ++){ + if (currentData.getAirports().get(i).getCountryName().equals(selectedAirline.getCountryName())){ + map.displayAirport(new RoutePath(new Position(currentData.getAirports().get(i).getLatitude(), currentData.getAirports().get(i).getLongitude()))); + break; + } + } + } + }); } public void airlineRawDataButton() { diff --git a/src/main/java/seng202/group9/GUI/AirportSummaryController.java b/src/main/java/seng202/group9/GUI/AirportSummaryController.java index 8906de7..3f6398a 100644 --- a/src/main/java/seng202/group9/GUI/AirportSummaryController.java +++ b/src/main/java/seng202/group9/GUI/AirportSummaryController.java @@ -1,14 +1,20 @@ package seng202.group9.GUI; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.fxml.FXML; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.web.WebView; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; import seng202.group9.Controller.SceneCode; import seng202.group9.Core.Airport; +import seng202.group9.Core.Position; +import seng202.group9.Core.RoutePath; +import seng202.group9.Map.Map; /** * Created by michael on 14/09/2016. @@ -17,6 +23,8 @@ public class AirportSummaryController extends Controller{ @FXML private TableView tableView; @FXML + private WebView mapView; + @FXML private TableColumn columnName; @FXML private TableColumn columnCity; @@ -29,6 +37,8 @@ public class AirportSummaryController extends Controller{ private Dataset currentData = null; + private Map map; + public void airportRawDataButton() { replaceSceneContent(SceneCode.AIRLINE_RAW_DATA); } @@ -51,5 +61,13 @@ public class AirportSummaryController extends Controller{ columnAltitude.setCellValueFactory(new PropertyValueFactory("Altitude")); currentData = getParent().getCurrentDataset(); tableView.setItems(FXCollections.observableArrayList(currentData.getAirports())); + map = new Map(mapView, new RoutePath()); + tableView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { + public void changed(ObservableValue observable, Airport oldValue, Airport newValue) { + System.out.println("loading"); + Airport selectedAirport= currentData.getAirports().get(tableView.getSelectionModel().getSelectedIndices().get(0)); + map.displayAirport(new RoutePath( new Position(selectedAirport.getLatitude(), selectedAirport.getLongitude()))); + } + }); } } \ No newline at end of file diff --git a/src/main/java/seng202/group9/GUI/FlightSummaryController.java b/src/main/java/seng202/group9/GUI/FlightSummaryController.java index 7acf4ee..d935ffa 100644 --- a/src/main/java/seng202/group9/GUI/FlightSummaryController.java +++ b/src/main/java/seng202/group9/GUI/FlightSummaryController.java @@ -78,7 +78,7 @@ public class FlightSummaryController extends Controller { } flightPathListView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { public void changed(ObservableValue observable, String oldValue, String newValue) { - map.displayRoute(theDataSet.getFlightPaths().get(flightPathListView.getSelectionModel().getSelectedIndices().get(0)).getRoutePath()); + //map.displayRoute(theDataSet.getFlightPaths().get(flightPathListView.getSelectionModel().getSelectedIndices().get(0)).getRoutePath()); } }); } diff --git a/src/main/java/seng202/group9/GUI/RouteSummaryController.java b/src/main/java/seng202/group9/GUI/RouteSummaryController.java index 42ff60b..5fcb44a 100644 --- a/src/main/java/seng202/group9/GUI/RouteSummaryController.java +++ b/src/main/java/seng202/group9/GUI/RouteSummaryController.java @@ -1,14 +1,20 @@ package seng202.group9.GUI; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.fxml.FXML; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; +import javafx.scene.web.WebView; import seng202.group9.Controller.App; import seng202.group9.Controller.Dataset; import seng202.group9.Controller.SceneCode; +import seng202.group9.Core.Position; import seng202.group9.Core.Route; +import seng202.group9.Core.RoutePath; +import seng202.group9.Map.Map; /** * Created by michael on 14/09/2016. @@ -17,6 +23,8 @@ public class RouteSummaryController extends Controller{ @FXML private TableView tableView; @FXML + private WebView mapView; + @FXML private TableColumn columnAirline; @FXML private TableColumn columnDepart; @@ -27,16 +35,39 @@ public class RouteSummaryController extends Controller{ @FXML private TableColumn columnEquipment; + private Map map; + private Dataset currentData = null; public void load() { - columnAirline.setCellValueFactory(new PropertyValueFactory("Airline")); + columnAirline.setCellValueFactory(new PropertyValueFactory("AirlineName")); columnDepart.setCellValueFactory(new PropertyValueFactory("DepartureAirport")); columnArrive.setCellValueFactory(new PropertyValueFactory("ArrivalAirport")); columnStops.setCellValueFactory(new PropertyValueFactory("Stops")); columnEquipment.setCellValueFactory(new PropertyValueFactory("Equipment")); currentData = getParent().getCurrentDataset(); tableView.setItems(FXCollections.observableArrayList(currentData.getRoutes())); + map = new Map(mapView, new RoutePath()); + tableView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { + public void changed(ObservableValue observable, Route oldValue, Route newValue) { + System.out.println("loading"); + Route selectedRoute= currentData.getRoutes().get(tableView.getSelectionModel().getSelectedIndices().get(0)); + if (selectedRoute.getSourceAirport() != null && selectedRoute.getDestinationAirport() != null) { + map.displayRoute(new RoutePath( + new Position(selectedRoute.getSourceAirport().getLatitude(), selectedRoute.getSourceAirport().getLongitude()), + new Position(selectedRoute.getDestinationAirport().getLatitude(), selectedRoute.getDestinationAirport().getLongitude()) + )); + }else if (selectedRoute.getSourceAirport() == null && selectedRoute.getDestinationAirport() != null){ + map.displayAirport(new RoutePath( + new Position(selectedRoute.getDestinationAirport().getLatitude(), selectedRoute.getDestinationAirport().getLongitude()) + )); + }else if (selectedRoute.getSourceAirport() != null && selectedRoute.getDestinationAirport() == null){ + map.displayAirport(new RoutePath( + new Position(selectedRoute.getSourceAirport().getLatitude(), selectedRoute.getSourceAirport().getLongitude()) + )); + } + } + }); } public void routeRawDataButton() { replaceSceneContent(SceneCode.ROUTE_RAW_DATA); diff --git a/src/main/java/seng202/group9/Map/Map.java b/src/main/java/seng202/group9/Map/Map.java index 8e65120..95bbfcc 100644 --- a/src/main/java/seng202/group9/Map/Map.java +++ b/src/main/java/seng202/group9/Map/Map.java @@ -35,6 +35,11 @@ public class Map { webEngine.load(getClass().getClassLoader().getResource("map.html").toExternalForm()); } + public void displayAirport(RoutePath newRoute) { + String scriptToExecute = "displayAirport(" + newRoute.toJSONArray() + ");"; + webEngine.executeScript(scriptToExecute); + } + public void displayRoute(RoutePath newRoute) { String scriptToExecute = "displayRoute(" + newRoute.toJSONArray() + ");"; webEngine.executeScript(scriptToExecute); diff --git a/src/main/resources/map.html b/src/main/resources/map.html index f02dc65..3af53d2 100644 --- a/src/main/resources/map.html +++ b/src/main/resources/map.html @@ -26,7 +26,7 @@ function initMap() { map = new google.maps.Map(document.getElementById('map'), { center: {lat: 39.144684, lng: -84.510079}, - zoom: 15 + zoom: 5 }); new google.maps.Marker({ @@ -39,7 +39,7 @@ function displayAirport(position){ map = new google.maps.Map(document.getElementById('map'), { center: position[0], - zoom: 15 + zoom: 5 }); new google.maps.Marker({ @@ -50,6 +50,10 @@ } function displayRoute(flightPath) { + map = new google.maps.Map(document.getElementById('map'), { + center: {lat: 39.144684, lng: -84.510079}, + zoom: 15 + }); // CLEAR EXISTING MARKERS if (marker1 !== undefined && marker2 !== undefined && path !== undefined) { marker1.setMap(null);