se vc recebe o Sap e o EnviadorDeEmails como dependência, vc não deveria dar new neles:
public class GeradorDeNotaFiscalController {
private final Sap sap;
private final EnviadorDeEmails enviador;
public GeradorDeNotaFiscalController(Sap sap, EnviadorDeEmails enviador) {
this.sap = sap;
this.enviador = enviador;
}
}
ou algo do tipo. Assim, se vc precisar adicionar outro observer é só criar uma classe anotada com @Component que implementa NotaFiscalObserver, não precisa modificar o controller.
Lembrando: o Sap e o EnviadorDeEmails não precisam receber o controller!
Edufa
Lucas Cavalcanti:
aí que está, vc não precisa do adicionaObservador, já que vc tá recebendo o Sap no construtor do controller…
observers vai receber todos as classes que implementam NotaFiscalObserver ?
Lucas_Cavalcanti
exato!
isso só funciona automaticamente se vc usa o Spring como DI (se vc está com os jars do spring no WEB-INF/lib), pro Guice tem que fazer uma configuraçãozinha e pro Pico eu não tenho certeza, mas é possível que funcione também.
Edufa
Isto é muito legal !
poderia ver o q tem de fazer no Guice, atualmente estou usando apenas ele.
[]s
Lucas_Cavalcanti
no guice vc precisa configurar essa List<…> explicitamente…
tem um jeito relativamente fácil de fazer isso, mas tá protected no VRaptor…
se vc não se importar de usar snapshots, posso gerar um pra vc com essa alteração
Edufa
eu gostaria sim, se não for incomodo, com o snapshot não posso colocar em produção, mas poderei testar internamente.