segunda-feira, junho 05, 2006

IoC em JSF Custom Validators/Converters

Bem , como todos já sabem , estou brincando de EJB 3 neste ultimo mês , naturalmente descobri algumas coisas empolgantes , outras nem tanto... um coisa meio boba que eu descobri ( e tive a confirmação ) foi que se você tem um validador personalizado ou um conversor personalizado , o IoC do container não vai funcionar, você terá que fazer lookup manualmente , coisa mais besta né ? tá tudo dentro do mesmo container deveria ter da mesma forma...

Bom , fui informado por um pessoal da lista do GlassFish de como "burlar" este problema , funciona legal se você não tiver mais que um validador no campo em questão... o truque consiste em emular um "session bean" passando o bean como validator... ex:

h:inputText value="#{bean.prop}" validator="#{biz.validate}"

public class Biz {

@EJB
private MyLittleLocal localBean;

public void validate(FacesContext, UIComponent, Object)
throws ValidationException {
if (!localBean.bizTest((BizObject) obj)) {
throw new ValidationException(...);
}
}
}

E viva o JEE 5 hehe :P

Nenhum comentário: