the movie project
This commit is contained in:
@@ -102,10 +102,38 @@ public class MovieService {
|
||||
* PUT ALL PARSING CODE INSIDE try-catch
|
||||
*/
|
||||
public void displayMoviesByGenre(Long genreId, Long page) {
|
||||
// TODO: Write your code here
|
||||
// All parsing code must be inside try-catch
|
||||
try {
|
||||
// Your code here
|
||||
String jsonResponse = getMoviesByGenreList(genreId , page);
|
||||
if(jsonResponse == null){
|
||||
System.out.println("Failed to get movies for this gener");
|
||||
return;
|
||||
}
|
||||
|
||||
JsonObject root = JsonParser.parseString(jsonResponse).getAsJsonObject();
|
||||
|
||||
JsonArray moviesArray = root.getAsJsonArray("movies");
|
||||
|
||||
if(moviesArray == null || moviesArray.isEmpty()){
|
||||
System.out.println("No Movie found");
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("\nMOVIES LIST (Gener ID :" + genreId + ", Page :" + page + "):");
|
||||
for(JsonElement movieElement : moviesArray){
|
||||
|
||||
JsonObject movieObj = movieElement.getAsJsonObject();
|
||||
long id = movieObj.get("id").getAsLong();
|
||||
String title = movieObj.get("title").getAsString();
|
||||
String year = movieObj.get("year").getAsString();
|
||||
|
||||
System.out.println("ID:" + id + " | " + title + "(" + year + ")");
|
||||
}
|
||||
|
||||
int total = root.get("total").getAsInt();
|
||||
int totalPage = root.get("total_pages").getAsInt();
|
||||
|
||||
System.out.println("Total Movies : " + total);
|
||||
System.out.println("Total Pages : " + totalPage);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.err.println("ERROR: " + e.getMessage());
|
||||
@@ -120,12 +148,14 @@ public class MovieService {
|
||||
private String getMovieById(Long movieId) {
|
||||
try {
|
||||
// TODO: Complete this method
|
||||
// String url = MOVIE_BY_ID_URL + movieId;
|
||||
// HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).build();
|
||||
// HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
|
||||
// if (response.statusCode() == 200) return response.body();
|
||||
|
||||
return null;
|
||||
String url = MOVIE_BY_ID_URL + movieId;
|
||||
HttpRequest request = HttpRequest.newBuilder().uri(URI.create(url)).build();
|
||||
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
|
||||
if (response.statusCode() == 200) return response.body();
|
||||
else {
|
||||
System.out.println("HTTP error code :" + response.statusCode());
|
||||
return null;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
System.out.println("!!Exception : " + e.getMessage());
|
||||
}
|
||||
@@ -179,8 +209,33 @@ public class MovieService {
|
||||
// HINT: For each genre, use getAsString()
|
||||
|
||||
// Your code here:
|
||||
JsonObject movieObj = JsonParser.parseString(jsonResponse).getAsJsonObject();
|
||||
|
||||
if(movieObj == null){
|
||||
System.out.println("Movie not foud!");
|
||||
return;
|
||||
}
|
||||
|
||||
long id = movieObj.get("id").getAsLong();
|
||||
String title = movieObj.get("title").getAsString();
|
||||
String year = movieObj.get("year").getAsString();
|
||||
String poster = movieObj.get("poster").getAsString();
|
||||
String country = movieObj.get("country").getAsString();
|
||||
String imdb_rating = movieObj.get("imdb_rating").getAsString();
|
||||
JsonArray genresArray = movieObj.get("genres").getAsJsonArray();
|
||||
List<String> genreList = new ArrayList<>();
|
||||
for(JsonElement g : genresArray){
|
||||
genreList.add(g.getAsString());
|
||||
}
|
||||
|
||||
System.out.println("\nMOVIE DETAILS: ");
|
||||
System.out.println("ID: "+ id);
|
||||
System.out.println("Title: "+ title);
|
||||
System.out.println("Year: " + year);
|
||||
System.out.println("Country: " + country);
|
||||
System.out.println("imdb_rating: " + imdb_rating);
|
||||
System.out.println("Genres: " + genreList);
|
||||
System.out.println("Poster: " + poster);
|
||||
} catch (Exception e) {
|
||||
System.err.println("ERROR parsing movie details: " + e.getMessage());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user