SERIE
package br.com.benja.ScreenMatchNew.model;
import br.com.benja.ScreenMatchNew.service.ConsultaGemini;
import java.util.OptionalDouble;
public class Serie {
private String titulo;
private Integer totalTemporadas;
private double avaliacao;
private Categoria genero; // Novo campo: Gênero da série
private String atores; // Novo campo: Atores principais
private String poster; // Novo campo: URL do pôster
private String sinopse; // Novo campo: Sinopse da série
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public Integer getTotalTemporadas() {
return totalTemporadas;
}
public void setTotalTemporadas(Integer totalTemporadas) {
this.totalTemporadas = totalTemporadas;
}
public double getAvaliacao() {
return avaliacao;
}
public void setAvaliacao(double avaliacao) {
this.avaliacao = avaliacao;
}
public Categoria getGenero() {
return genero;
}
public void setGenero(Categoria genero) {
this.genero = genero;
}
public String getAtores() {
return atores;
}
public void setAtores(String atores) {
this.atores = atores;
}
public String getPoster() {
return poster;
}
public void setPoster(String poster) {
this.poster = poster;
}
public String getSinopse() {
return sinopse;
}
public void setSinopse(String sinopse) {
this.sinopse = sinopse;
}
public Serie(DadosSerie dadosSerie) {
this.titulo = dadosSerie.titulo();
this.totalTemporadas = dadosSerie.totalTemporadas();
this.avaliacao = OptionalDouble.of(Double.valueOf(dadosSerie.avaliacoesPorTemporada())).orElse(0);
this.genero = Categoria.fromString(dadosSerie.genero().split(",")[0].trim());
this.atores = dadosSerie.atores();
this.poster = dadosSerie.poster();
this.sinopse = ConsultaGemini.obterTraducao(dadosSerie.sinopse()).trim();
try {
this.genero = Categoria.fromString(dadosSerie.genero().split(",")[0].trim());
} catch (IllegalArgumentException e) {
this.genero = null; // ou Categoria.DESCONHECIDO, se existir
}
}
@Override
public String toString () {
return "genero=" + genero +
", titulo='" + titulo + '\'' +
", totalTemporadas=" + totalTemporadas +
", avaliacao=" + avaliacao +
", atores='" + atores + '\'' +
", poster='" + poster + '\'' +
", sinopse='" + sinopse + '\'';
}
}
GEMINI ao inves de OpenAI
package br.com.benja.ScreenMatchNew.service;
import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
public class ConsultaGemini {
private static final String CHAVE = "SUA CHAVE AQUI";
public static String obterTraducao(String texto) {
Client client = Client.builder().apiKey(CHAVE).build();;
GenerateContentResponse response =
client.models.generateContent(
"gemini-2.0-flash",
"Apenas traduza, sem me dizer nada alem disso, o seguinte trecho: " + texto,
null);
return response.text();
}
}