the movie project

This commit is contained in:
2026-04-29 23:02:38 +03:30
parent 5473658dc8
commit b56fcd2171
4 changed files with 159 additions and 35 deletions
+64 -9
View File
@@ -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());
}