2
respostas

Erro ao remover autor

Como implemento uma verificação se um livro está associado a um autor? Queria algo como isso:

    public void removerAutor(Autor autor) {
        if (getAutores().contains(livro)) {
            FacesContext.getCurrentInstance().addMessage("autor",
                    new FacesMessage(autor.getNome() + " contem livros associados a ele!"));
        } else {
            this.autor.remover(autor);
        }
    }
2 respostas

Fiz uma gambiarra, sei que ta totalmente errado, mas ta funcionando.

public void removerAutor(Autor autor) {

        try {
            this.autor.remover(autor);
        } catch (Exception e) {
            FacesContext.getCurrentInstance().addMessage("autor",
                    new FacesMessage(autor.getNome() + " contem livros associados a ele!"));
            System.out.println("Tentando remover autor!");
        }

    }

Ainda aguardando respostas.

Opa, o livro tem uma coleção de autores? Você pode fazer algo como livro.getAutores().contains(autor). Só lembra que o autor deve ter um equals e talvez um hashcode :).