Bom dia, pessoal! Ao pesquisar pelo filme dogville, percebi que a duração em minutos era de 178 min e na nossa classe Titulo estava vindo somente com 17 min, devido ao seguinte trecho de código:
public Titulo(TituloOmdb meuTituloOmdb) {
this.nome = meuTituloOmdb.title();
if (meuTituloOmdb.year().length() > 4) {
throw new ErroDeConversaoDeAnoException("Não consegui converter o ano porque tem mais de 4 caracteres!");
}
this.anoDeLancamento = Integer.valueOf(meuTituloOmdb.year());
***this.duracaoEmMinutos = Integer.valueOf(meuTituloOmdb.runtime().substring(0,2));***
}
Realizei a correção da seguinte forma:
public Titulo(TituloOmdb meuTituloOmdb) {
this.nome = meuTituloOmdb.title();
if (meuTituloOmdb.year().length() > 4) {
throw new ErroDeConversaoDeAnoException("Não consegui converter o ano porque tem mais de 4 caracteres!");
}
this.anoDeLancamento = Integer.valueOf(meuTituloOmdb.year());
*** this.duracaoEmMinutos = Integer.valueOf(meuTituloOmdb.runtime().substring(0,3).replace(" ", ""));***
}
É necessário inserir o replace para retirar os espaços em branco que sobram para filmes que tem duração menor que 100 min.