Galera,
O autocomplete quebra quando a validação do formulario quebra.
<p:outputLabel for="descricao" value="#{msg['entity.descricao']}"/>
<p:inputText id="descricao" required="true" value="#{acaoController.entity.descricao}" >
<f:validateLength minimum="3" maximum="255"/>
</p:inputText>
<p:outputLabel for="responsavel" value="#{msg['entity.responsavel']}"/>
<p:autoComplete required="true" id="responsavel" value="#{acaoController.entity.responsavel}" completeMethod="#{pessoaController.autoComplete}"
var="p" itemLabel="#{p.nome}" itemValue="#{p}" converter="#{pessoaConverter}" forceSelection="true" minQueryLength="3"/>
Então, eu seleciono o responsavel… do um submit no form com a descrição vazia… Leio a mensagem de erro ‘desciricao é campo obrigatorio’…
aí eu escrevo algo na descrição (ex Marco) e faço o submit de novo e… null pointer.
Se eu fizer tudo correto de primeira, funciona.
Eu escrevi o converter e tudo…
o null pointer está aqui:
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj instanceof Pessoa) {
Pessoa entity = (Pessoa) obj;
if (entity.getId() != 0 && id != 0) { //on this line
return entity.getId() == id;
}
}
return false;
}