X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FCountry.java;h=5a57362f07d6a2006ba07b75436d13cd426ac133;hb=a9c1e3ed70af9286718689befc35aae0c2eeb49c;hp=c663ff0af66b22c2c8c9bdd22845f51cbb434d00;hpb=e16e3b1587a729dd1e2d39bd4426831136376aa7;p=Persons_Comparator.git diff --git a/src/Country.java b/src/Country.java index c663ff0..5a57362 100644 --- a/src/Country.java +++ b/src/Country.java @@ -1,17 +1,28 @@ -import javax.swing.*; +import java.io.File; +import java.io.FileNotFoundException; +import java.util.List; +import java.util.Scanner; public class Country { private String name; private String region; private double lat; private double lng; - private ImageIcon flag; + private String flag; + private String csvFile = "data/countries.csv"; - public Country(String name, String region, double lat, double lng) { + public Country(String name, String region, double lat, double lng, String flag) { setName(name); setRegion(region); setLat(lat); setLng(lng); + setFlag(flag); + } + + public Country(String name) { + setName(name); + loadCSVOneCountry(this.name); + } public void setName(String name) { @@ -30,10 +41,26 @@ public class Country { this.lat = lat; } + public double getLat() { + return lat; + } + public void setLng(double lng) { this.lng = lng; } + public double getLng() { + return lng; + } + + public void setFlag(String flag) { + this.flag = flag; + } + + public String getFlag() { + return flag; + } + public int distanceTo(Country country) { if ((this.lat == country.lat) && (this.lng == country.lng)) { return 0; @@ -49,6 +76,36 @@ public class Country { } } + public void loadCSVOneCountry(String name) { + Scanner scanner = null; + try { + scanner = new Scanner(new File(csvFile)); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + while (scanner.hasNext()) { + List line = CSVUtils.parseLine(scanner.nextLine()); + String countryList = line.get(0); + String[] countryArray = countryList.split(","); + String latLng = line.get(16); + String[] latLngArray = latLng.split(","); + + + if (countryArray[1].equals(name)) { + setRegion(line.get(12)); + setLat(Double.parseDouble(latLngArray[0])); + setLng(Double.parseDouble(latLngArray[1])); + } + } + scanner.close(); + /*Utils.displayArrayList(countryArrayListOceania); + Utils.displayArrayList(countryArrayListAfrica); + Utils.displayArrayList(countryArrayListAmericas); + Utils.displayArrayList(countryArrayListAsia); + Utils.displayArrayList(countryArrayListEurope);*/ + } + + @Override public String toString() { return "Country{" + @@ -56,6 +113,7 @@ public class Country { ", region='" + region + '\'' + ", lat=" + lat + ", lng=" + lng + + ", flag=" + flag + '}'; } }