To estudando para uma prova e tô fazendo a prova do ano passado dessa mesma matéria.
Método addObra(), avaliarObra() da classe GerenciamentosPareceres:
[code]public void addObra(T obra, iReceberParecer receberParecer) {
ControleObra cOb1 = new ControleObra(obra, receberParecer);
obrasEmAnalise.add(cOb1);
notificarPareceristas(obra);
}
public void avaliarObra(T obra, boolean aprovado) {
for (ControleObra<T> controleObra : obrasEmAnalise) {
if (obra.equals(controleObra)) {
if (controleObra.getQtdadeAvaliacoes() == 5) {
obrasEmAnalise.remove(obra);
System.out.println("5");
} else {
if (aprovado == true) {
controleObra.addFavoravel();
System.out.println(controleObra.getQtdadeAvaliacoes());
} else {
controleObra.addDesfavoral();
System.out.println(controleObra.getQtdadeAvaliacoes());
}
}
}
}
}[/code]
Método chegouObra() da classe Parecerista:
public void chegouObra(T obra, GerenciamentoPareceres<T> gerenciamentoObras) {
boolean resultado = false;
Random sorteio = new Random();
int sorteado = sorteio.nextInt();
if (sorteado > 0) {
gerenciamentoObras.avaliarObra(obra, true);
resultado = true;
} else {
gerenciamentoObras.avaliarObra(obra, false);
}
ConsoleReceberParecer console = new ConsoleReceberParecer();
console.avaliacaoObra(obra, resultado);
}
O que estou fazendo é o método addObra está dando o fire no Listeners (ConsoleReceberParecer), até aí tá certo não?
Mas tá certo o método chegouObra() fazer a chama do console.avaliacaoObra()? Implementei o Listener na classe certa?
E alguém sabe me dizer porque diabos mesmo com 5 avaliações o meu programa não a está contabilizando?
Eu sei que é um problema grande, mas não consegui ver um jeito melhor de postá-lo.
Valeu