Estou com um problema no return do getAsObject do converter do SelectOneMenu, tenho um relacionamento entre duas tabelas no meu projeto de teste, tabelas tipoTelefoneTAB e telefoneTAB onde tipoTelefone pertence a um ou mais telefone e um telefone é pertencente a somente um tipo.
Tenho a tela de cadastro do tipoTelefone e quando vou cadastrar um telefone escolho um tipo listado no selectOneMenu que esta na tela telefone,então, agora o problema! quando vou salvo o return era para ser um apontamento do tipoTelefone na tabela telefone mas da erro de “o valor não é válido” como posso fazer este converter.
Muito obrigado pela ajuda.
Converter
@FacesConverter(forClass=tipoTelefoneTAB.class, value=“converterTipoTel”)
public class converterTipoTel implements Converter{
@Override
public Object getAsObject(FacesContext ctx, UIComponent component, String valueObject) {
System.out.println("valueObject teste 10: "+valueObject);
if(valueObject !=""){
tipoTelefoneBEAN bean = new tipoTelefoneBEAN();
tipoTelefoneDAO dao = new tipoTelefoneDAO();
/*USANDO O VALUEoBJECT PARA FAZER UMA BUSCA NO BANCO E TRAZER O ID PARA PODER CONVERTER PARA NO PEGARID PARA POSIÇÃO NA TABELA*/
return dao.pegarID(bean.getSelectOneMenu(valueObject).getRowData().getIdTipoTelefone());
}else{
System.out.println("else 1 ''");
return null;
}
}
@Override
public String getAsString(FacesContext arg0, UIComponent arg1, Object valueString) {
if(valueString !=""){
System.out.println("valueString: "+valueString);
tipoTelefoneTAB tab = (tipoTelefoneTAB) valueString;
return tab.getTipoTelefone();
}else{
System.out.println("else 1 ''");
return null;
}
}