Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/main/java/com/napier/semGROUP4/menu/Menu.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.napier.semGROUP4.queriesClasses.Language;
import com.napier.semGROUP4.services.CapitalCityService;
import com.napier.semGROUP4.services.CityService;
import com.napier.semGROUP4.services.CountryService;
import com.napier.semGROUP4.services.LanguageService;

/**
Expand All @@ -17,6 +18,7 @@ public class Menu {
private final CityService cityService;
private final CapitalCityService capitalCityService;
private final LanguageService languageService;
private final CountryService countryService;

/**
* Initializes the menu with city, language, and capital city services.
Expand All @@ -27,6 +29,7 @@ public Menu(Connection con) {
this.cityService = new CityService(con);
this.languageService = new LanguageService(con);
this.capitalCityService = new CapitalCityService(con);
this.countryService = new CountryService(con);
}

public void menuSample() {
Expand All @@ -41,7 +44,7 @@ public void menuSample() {
Language language = languageService.getLanguage(languageName);
System.out.println(language);
System.out.println("---- \n");
System.out.println(capitalCityService.getAllCapitalsInContinent(continentName));
System.out.println(countryService.getAllCountriesByPop());
System.out.println("---- \n");
System.out.println("Exiting app...");
}
Expand Down
71 changes: 71 additions & 0 deletions src/main/java/com/napier/semGROUP4/queriesClasses/Country.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,75 @@
package com.napier.semGROUP4.queriesClasses;

public class Country {

private String code;
private String name;
private String continent;
private String region;
private int population;
private String capital;

public Country() {

}

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getContinent() {
return continent;
}

public void setContinent(String continent) {
this.continent = continent;
}

public String getRegion() {
return region;
}

public void setRegion(String region) {
this.region = region;
}

public int getPopulation() {
return population;
}

public void setPopulation(int population) {
this.population = population;
}

public String getCapital() {
return capital;
}

public void setCapital(String capital) {
this.capital = capital;
}


@Override
public String toString() {
return """
Name: %s,
Capital: %s,
Continent: %s,
Region: %s,
Population: %d
""".formatted(this.getName(), this.getCapital(), this.getContinent(), this.getRegion(), this.getPopulation()) ;
}
}
42 changes: 42 additions & 0 deletions src/main/java/com/napier/semGROUP4/services/CountryService.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
package com.napier.semGROUP4.services;

import com.napier.semGROUP4.queriesClasses.Country;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

public class CountryService {
private Connection con;

public CountryService(Connection aCon) {this.con = aCon;
}

public ArrayList<Country> getAllCountriesByPop() {

ArrayList<Country> countriesList = new ArrayList<>();
try {
Statement stmt = con.createStatement();
String sql = "SELECT country.Code, country.Name, country.Continent, country.Region, country.Population, city.Name AS Capital FROM country " +
"JOIN city ON country.capital = city.ID " +
"ORDER BY country.population " +
"DESC LIMIT 5;";
ResultSet rset = stmt.executeQuery(sql);

while (rset.next()) {
Country country = new Country();
country.setCode(rset.getString("Code"));
country.setName(rset.getString("Name"));
country.setCapital(rset.getString("Capital"));
country.setContinent(rset.getString("Continent"));
country.setRegion(rset.getString("Region"));
country.setPopulation(rset.getInt("Population"));
countriesList.add(country);
}

} catch (SQLException e) {
System.out.println("Error getting all the countries in the world: " + e.getMessage());
}


return countriesList;
};
}
Loading