Pessoal,
Estou com a seguinte situação:
Preciso listar em um Combobox objetos de domínio, para tal eu criei um converter (abaixo).
Não posso dar um “new XptoUseCase()” pois ele é um bean gerenciado do Spring.
1 - Se eu coloco só o construtor com parâmetro recebo erro dizendo que não foi possível instanciar XptoConverter;
2 - Da forma que está, o ‘useCase’ está null no método “getAsObject” pois não foi injetado;
Alguém saberia me dizer como faço para resolver tal situação?
@Service(value="xtpoConverter")
public class XptoConverter implements Converter {
private XptoUseCase useCase;
public XptoConverter () {
System.out.println("instanciou");
}
@Autowired(required = true)
public XptoConverter (XptoUseCase useCase) {
this.useCase = useCase;
}
public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
if (value == null) {
return null;
}
return useCase.executeFilter(value, 0, 1);
}
public String getAsString(FacesContext context, UIComponent component, Object object) throws ConverterException {
if (object == null) {
return null;
}
Xpto entity = (Xpto) object;
return entity.getNome();
}
}