initial commit
This commit is contained in:
commit
bb2a1c6223
|
@ -0,0 +1,103 @@
|
|||
### Eclipse template
|
||||
*.pydevproject
|
||||
.metadata
|
||||
.gradle
|
||||
bin/
|
||||
tmp/
|
||||
*.tmp
|
||||
*.bak
|
||||
*.swp
|
||||
*~.nib
|
||||
local.properties
|
||||
.settings/
|
||||
.loadpath
|
||||
|
||||
# Eclipse Core
|
||||
.project
|
||||
|
||||
# External tool builders
|
||||
.externalToolBuilders/
|
||||
|
||||
# Locally stored "Eclipse launch configurations"
|
||||
*.launch
|
||||
|
||||
# CDT-specific
|
||||
.cproject
|
||||
|
||||
# JDT-specific (Eclipse Java Development Tools)
|
||||
.classpath
|
||||
|
||||
# Java annotation processor (APT)
|
||||
.factorypath
|
||||
|
||||
# PDT-specific
|
||||
.buildpath
|
||||
|
||||
# sbteclipse plugin
|
||||
.target
|
||||
|
||||
# TeXlipse plugin
|
||||
.texlipse
|
||||
### Java template
|
||||
*.class
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
*.ear
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
### JetBrains template
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
|
||||
|
||||
*.iml
|
||||
|
||||
## Directory-based project format:
|
||||
.idea/
|
||||
# if you remove the above rule, at least ignore the following:
|
||||
|
||||
# User-specific stuff:
|
||||
# .idea/workspace.xml
|
||||
# .idea/tasks.xml
|
||||
# .idea/dictionaries
|
||||
|
||||
# Sensitive or high-churn files:
|
||||
# .idea/dataSources.ids
|
||||
# .idea/dataSources.xml
|
||||
# .idea/sqlDataSources.xml
|
||||
# .idea/dynamic.xml
|
||||
# .idea/uiDesigner.xml
|
||||
|
||||
# Gradle:
|
||||
# .idea/gradle.xml
|
||||
# .idea/libraries
|
||||
|
||||
# Mongo Explorer plugin:
|
||||
# .idea/mongoSettings.xml
|
||||
|
||||
## File-based project format:
|
||||
*.ipr
|
||||
*.iws
|
||||
|
||||
## Plugin-specific files:
|
||||
|
||||
# IntelliJ
|
||||
/out/
|
||||
|
||||
# mpeltonen/sbt-idea plugin
|
||||
.idea_modules/
|
||||
|
||||
# JIRA plugin
|
||||
atlassian-ide-plugin.xml
|
||||
|
||||
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||
com_crashlytics_export_strings.xml
|
||||
crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
|
||||
# Created by .ignore support plugin (hsz.mobi)
|
||||
.DS_Store
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,5 @@
|
|||
/**
|
||||
* Created by gmgauthier on 2015.11.06.
|
||||
*/
|
||||
public class AirlineData {
|
||||
}
|
|
@ -0,0 +1,150 @@
|
|||
|
||||
public class Airport implements Comparable<Airport> {
|
||||
private int ofid;
|
||||
private String name;
|
||||
private String city;
|
||||
private String country;
|
||||
private String iata;
|
||||
private String icao;
|
||||
private double lat;
|
||||
private double lon;
|
||||
private int alt;
|
||||
private float tzoffset; //half zones are expressed as decimals
|
||||
private char dst; // One of E (Europe), A (US/Canada), S (South America), O (Australia), Z (New Zealand), N (None) or U (Unknown)
|
||||
private String tzolsen;
|
||||
|
||||
|
||||
public Airport(int ofid, String name, String city, String country, String iata, String icao, double lat, double lon, int alt,
|
||||
float tzoffset, char dst, String tzolsen) {
|
||||
this.ofid = ofid;
|
||||
this.name = name;
|
||||
this.city = city;
|
||||
this.country = country;
|
||||
this.iata = iata;
|
||||
this.icao = icao;
|
||||
this.lat = lat;
|
||||
this.lon = lon;
|
||||
this.alt = alt;
|
||||
this.tzoffset = tzoffset;
|
||||
this.dst = dst;
|
||||
this.tzolsen = tzolsen;
|
||||
}
|
||||
|
||||
public int getOfid() {
|
||||
return ofid;
|
||||
}
|
||||
|
||||
public void setOfid(int ofid) {
|
||||
this.ofid = ofid;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getCity() {
|
||||
return city;
|
||||
}
|
||||
|
||||
public void setCity(String city) {
|
||||
this.city = city;
|
||||
}
|
||||
|
||||
public String getCountry() {
|
||||
return country;
|
||||
}
|
||||
|
||||
public void setCountry(String country) {
|
||||
this.country = country;
|
||||
}
|
||||
|
||||
public String getIata() {
|
||||
return iata;
|
||||
}
|
||||
|
||||
public void setIata(String iata) {
|
||||
this.iata = iata;
|
||||
}
|
||||
|
||||
public String getIcao() {
|
||||
return icao;
|
||||
}
|
||||
|
||||
public void setIcao(String icao) {
|
||||
this.icao = icao;
|
||||
}
|
||||
|
||||
public double getLat() {
|
||||
return lat;
|
||||
}
|
||||
|
||||
public void setLat(Double lat) {
|
||||
this.lat = lat;
|
||||
}
|
||||
|
||||
public double getLon() {
|
||||
return lon;
|
||||
}
|
||||
|
||||
public void setLon(Double lon) {
|
||||
this.lon = lon;
|
||||
}
|
||||
|
||||
public int getAlt() {
|
||||
return alt;
|
||||
}
|
||||
|
||||
public void setAlt(int alt) {
|
||||
this.alt = alt;
|
||||
}
|
||||
|
||||
public float getTzoffset() {
|
||||
return tzoffset;
|
||||
}
|
||||
|
||||
public void setTzoffset(float tzoffset) {
|
||||
this.tzoffset = tzoffset;
|
||||
}
|
||||
|
||||
public char getDst() {
|
||||
return dst;
|
||||
}
|
||||
|
||||
public void setDst(char dst) {
|
||||
this.dst = dst;
|
||||
}
|
||||
|
||||
public String getTzolsen() {
|
||||
return tzolsen;
|
||||
}
|
||||
|
||||
public void setTzolsen(String tzolsen) {
|
||||
this.tzolsen = tzolsen;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Airport{" +
|
||||
"ofid=" + ofid +
|
||||
", name='" + name + '\'' +
|
||||
", city='" + city + '\'' +
|
||||
", iata='" + iata + '\'' +
|
||||
", icao='" + icao + '\'' +
|
||||
", lat=" + lat +
|
||||
", lon=" + lon +
|
||||
", alt=" + alt +
|
||||
", tzoffset=" + tzoffset +
|
||||
", dst=" + dst +
|
||||
", tzolsen='" + tzolsen + '\'' +
|
||||
'}';
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Airport o) {
|
||||
return (this.getCity().compareTo(o.getCity()));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,80 @@
|
|||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class AirportData {
|
||||
private ArrayList<Airport> airports = new ArrayList<>();
|
||||
|
||||
// Constructors
|
||||
public AirportData() {
|
||||
this("data/airports.dat");
|
||||
}
|
||||
|
||||
public AirportData(String dataFile){
|
||||
List<String[]> csvData = DataReader.readCSVFile(dataFile);
|
||||
for (String[] row : csvData){
|
||||
Airport airport = createAirport(row);
|
||||
airports.add(airport);
|
||||
}
|
||||
// Collections.sort(airports);
|
||||
}
|
||||
|
||||
//Accessors
|
||||
public ArrayList<Airport> getAirports() {
|
||||
return airports;
|
||||
}
|
||||
|
||||
|
||||
// Public methods
|
||||
public Airport findAirportByName(String name){
|
||||
return null;
|
||||
}
|
||||
|
||||
public Airport findAirportByIATA(String iata){
|
||||
//TODO: Searching by IATA identifier
|
||||
return null;
|
||||
}
|
||||
|
||||
public Airport findAirportByICAO(String icao){
|
||||
//TODO: Searching by ICAO identifier
|
||||
return null;
|
||||
}
|
||||
|
||||
public ArrayList<Airport> findAirportsByCity(String city) {
|
||||
ArrayList<Airport> searchResults = airports.stream().filter(airport -> city.equals(airport.getCity())).
|
||||
collect(Collectors.toCollection(ArrayList::new));
|
||||
return searchResults;
|
||||
}
|
||||
|
||||
public Airport findAirportsByCountry(String country){
|
||||
//TODO: Searching by country name
|
||||
return null;
|
||||
}
|
||||
|
||||
public void sortAirports(){
|
||||
Collections.sort(this.airports);
|
||||
}
|
||||
|
||||
// Private methods
|
||||
private Airport createAirport(String[] row){
|
||||
|
||||
int ofid = Integer.parseInt(row[0]);
|
||||
String name = row[1];
|
||||
String city = row[2];
|
||||
String country = row[3];
|
||||
String iata = row[4];
|
||||
String icao = row[5];
|
||||
double lat = Double.parseDouble(row[6]);
|
||||
double lon = Double.parseDouble(row[7]);
|
||||
int alt = Integer.parseInt(row[8]);
|
||||
float tzoffset = Float.parseFloat(row[9]);
|
||||
char dst = row[10].charAt(0);
|
||||
String tzolsen = row[11];
|
||||
|
||||
return new Airport(ofid, name, city, country, iata, icao, lat, lon, alt, tzoffset, dst, tzolsen);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
import com.opencsv.CSVReader;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
public class DataReader {
|
||||
|
||||
static List<String[]> readCSVFile(String fname){
|
||||
CSVReader reader = null;
|
||||
List<String[]> entries = null;
|
||||
try {
|
||||
reader = new CSVReader(new FileReader(fname));
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
try {
|
||||
if (reader != null) entries = reader.readAll();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return entries;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
/**
|
||||
* Created by gmgauthier on 2015.11.06.
|
||||
*/
|
||||
public class RouteData {
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
public class SearchTests {
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
AirportData airportData = new AirportData();
|
||||
ArrayList<Airport> chicagoAirports = airportData.findAirportsByCity("Chicago");
|
||||
for (Airport airport: chicagoAirports){
|
||||
|
||||
System.out.printf("%-4s %-27s %-4.7f / %-4.7f \n", airport.getIata(),
|
||||
airport.getName(), airport.getLat(), airport.getLon());
|
||||
|
||||
}
|
||||
System.out.println(chicagoAirports);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue