Olá, estou com um problema ao utilizar o componente ele simplesmente não salva, não aparece nenhum erro no console. Segue as classes. OBS: eu salvo um usuário primeiro, depois eu tenho uma opção para inclui-lo em um grupo.
<p:selectManyCheckbox id="grupos" styleClass="many-checkbox"
value="#{usuarioBean.usuario.grupos}" converter="grupoConverter">
<f:selectItems value="#{usuarioBean.grupos}" var="grupo"
itemLabel="#{grupo.descricao}" itemValue="#{grupo}"/>
</p:selectManyCheckbox>
public void incluirGrupo() throws ClasseExcecaoGeral {
try {
UsuarioDao usuarioDao = new UsuarioDao();
usuarioDao.atualizar(usuario);
String msg = "Usuaŕio " + usuario.getNome() + " Inserido no grupo com sucesso!";
ClasseMensagemGeral.gerarMensagemInfo(msg, msg);
} catch (RuntimeException e) {
throw new ClasseExcecaoGeral("UsuarioBean - Erro ao incluir um grupo para Usuário");
}
}
@FacesConverter(value = "grupoConverter", forClass = Grupo.class)
public class GrupoConverter implements Converter{
private GrupoDao grupoDao;
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
Grupo retorno = null;
if(value != null){
try {
retorno = this.grupoDao.buscaPorId(new Integer(value));
} catch (ClasseExcecaoGeral ex) {
Logger.getLogger(GrupoConverter.class.getName()).log(Level.SEVERE, null, ex);
}
}
return retorno;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if(value != null){
Integer id = ((Grupo) value).getId();
return id == null ? null : id.toString();
}
return "";
}
}