Olá pessoal, estou com o seguinte problema: Tenho um método que me retorna uma lista de string, e tenho outro método que faz a validação e salva os registros. São esses dois métodos: Lista
public List<Carroceria> carrocerias(String descricao) {
return carroceriaService.getCarroceriaWithDescricao(descricao);
} Salvar
[code]public void finishAddCarreta() {
Carreta cta = carretaService.getByDescricao(carreta.getDescricao(), carreta.getPlaca());
if (carreta.getCodigo() == null && cta != null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro:", "Descrição ou Placa já cadastrada"));
} else {
carretaService.addCarreta(carreta);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Sucesso:", "Registro salvo com sucesso"));
}
}[/code]
Como faço para verificar se aquele método de lista esta retornando uma lista vazia aqui no método salvar?
Vou me explicar melhor. Tenho um p:autoComplete que quando clico nele aparece todas as carrocerias já cadastradas, mas o problema é quando eu digito nesse combo, ele me deixa digitar qualquer coisa lá, mesmo nao tendo cadastrado, entende?
Dai queria fazer uma validação pra isso nao acontecer. XHTML
Cara, da um contains na sua lista passando o objeto carroceria e implementa o equals hashcode incluindo o campo descrição.
ou apenas recupera os e da um equals na sua descrição
if(carrocerias.contains(getCarroceria())) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro:", "Preencha os campos corretamente"));
fazer o equals e hashcode do que?
O contains usa o equals para poder saber a condição de comparação que você deseja Ex: vc considera que uma carroceria é igual a outra pela sua descrição? ou pela sua placa? com o equals você define isto , desta forma sujiro quevocê estude esses dois métodos equals e hashcode.