From 70d15df43ea0d57c3fe237211098645733048c45 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Sat, 19 Nov 2016 22:14:13 -0500 Subject: Add airports --- .../java/com/benburwell/planes/data/Airport.java | 198 +++++++++++++++++++++ .../com/benburwell/planes/data/AirportStore.java | 30 ++++ .../benburwell/planes/data/NavigationAidStore.java | 4 + 3 files changed, 232 insertions(+) create mode 100644 src/main/java/com/benburwell/planes/data/Airport.java create mode 100644 src/main/java/com/benburwell/planes/data/AirportStore.java (limited to 'src/main/java/com/benburwell/planes/data') diff --git a/src/main/java/com/benburwell/planes/data/Airport.java b/src/main/java/com/benburwell/planes/data/Airport.java new file mode 100644 index 0000000..92e43bc --- /dev/null +++ b/src/main/java/com/benburwell/planes/data/Airport.java @@ -0,0 +1,198 @@ +package com.benburwell.planes.data; + +import org.apache.commons.csv.CSVRecord; + +/** + * Created by ben on 11/19/16. + */ +public class Airport { + private int id; + private String ident; + private String type; + private String name; + private double latitude; + private double longitude; + private int elevation; + private String continent; + private String isoCountry; + private String isoRegion; + private String municipality; + private boolean scheduledService; + private String gpsCode; + private String iataCode; + private String localCode; + private String homeLink; + private String wikipediaLink; + private String keywords; + + public Airport(CSVRecord record) { + this.setId(Integer.valueOf(record.get("id"))); + this.setIdent(record.get("ident")); + this.setType(record.get("type")); + this.setName(record.get("name")); + try { + this.setLatitude(Double.valueOf(record.get("latitude_deg"))); + } catch (NumberFormatException ignored) {} + try { + this.setLongitude(Double.valueOf(record.get("longitude_deg"))); + } catch (NumberFormatException ignored) {} + try { + this.setElevation(Integer.valueOf(record.get("elevation_ft"))); + } catch (NumberFormatException ignored) {} + this.setContinent(record.get("continent")); + this.setIsoCountry(record.get("iso_country")); + this.setIsoRegion(record.get("iso_region")); + this.setMunicipality(record.get("municipality")); + this.setScheduledService(record.get("scheduled_service").equals("yes")); + this.setGpsCode(record.get("gps_code")); + this.setIataCode(record.get("iata_code")); + this.setLocalCode(record.get("local_code")); + this.setHomeLink(record.get("home_link")); + this.setWikipediaLink(record.get("wikipedia_link")); + this.setKeywords(record.get("keywords")); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getIdent() { + return ident; + } + + public void setIdent(String ident) { + this.ident = ident; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getLatitude() { + return latitude; + } + + public void setLatitude(double latitude) { + this.latitude = latitude; + } + + public double getLongitude() { + return longitude; + } + + public void setLongitude(double longitude) { + this.longitude = longitude; + } + + public int getElevation() { + return elevation; + } + + public void setElevation(int elevation) { + this.elevation = elevation; + } + + public String getContinent() { + return continent; + } + + public void setContinent(String continent) { + this.continent = continent; + } + + public String getIsoCountry() { + return isoCountry; + } + + public void setIsoCountry(String isoCountry) { + this.isoCountry = isoCountry; + } + + public String getIsoRegion() { + return isoRegion; + } + + public void setIsoRegion(String isoRegion) { + this.isoRegion = isoRegion; + } + + public String getMunicipality() { + return municipality; + } + + public void setMunicipality(String municipality) { + this.municipality = municipality; + } + + public boolean isScheduledService() { + return scheduledService; + } + + public void setScheduledService(boolean scheduledService) { + this.scheduledService = scheduledService; + } + + public String getGpsCode() { + return gpsCode; + } + + public void setGpsCode(String gpsCode) { + this.gpsCode = gpsCode; + } + + public String getIataCode() { + return iataCode; + } + + public void setIataCode(String iataCode) { + this.iataCode = iataCode; + } + + public String getLocalCode() { + return localCode; + } + + public void setLocalCode(String localCode) { + this.localCode = localCode; + } + + public String getHomeLink() { + return homeLink; + } + + public void setHomeLink(String homeLink) { + this.homeLink = homeLink; + } + + public String getWikipediaLink() { + return wikipediaLink; + } + + public void setWikipediaLink(String wikipediaLink) { + this.wikipediaLink = wikipediaLink; + } + + public String getKeywords() { + return keywords; + } + + public void setKeywords(String keywords) { + this.keywords = keywords; + } +} diff --git a/src/main/java/com/benburwell/planes/data/AirportStore.java b/src/main/java/com/benburwell/planes/data/AirportStore.java new file mode 100644 index 0000000..93f1ccc --- /dev/null +++ b/src/main/java/com/benburwell/planes/data/AirportStore.java @@ -0,0 +1,30 @@ +package com.benburwell.planes.data; + +import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVParser; +import org.apache.commons.csv.CSVRecord; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by ben on 11/19/16. + */ +public class AirportStore { + private List airports = new ArrayList<>(); + + public void readFromFile(String filename) throws IOException { + File csvData = new File(filename); + CSVParser parser = CSVParser.parse(csvData, Charset.defaultCharset(), CSVFormat.RFC4180.withFirstRecordAsHeader()); + for (CSVRecord record : parser) { + this.airports.add(new Airport(record)); + } + } + + public List getAirports() { + return this.airports; + } +} diff --git a/src/main/java/com/benburwell/planes/data/NavigationAidStore.java b/src/main/java/com/benburwell/planes/data/NavigationAidStore.java index 3bc06d9..6f0ce9c 100644 --- a/src/main/java/com/benburwell/planes/data/NavigationAidStore.java +++ b/src/main/java/com/benburwell/planes/data/NavigationAidStore.java @@ -23,4 +23,8 @@ public class NavigationAidStore { this.aids.add(new NavigationAid(record)); } } + + public List getNavigationAids() { + return this.aids; + } } -- cgit v1.2.3