P:selectBooleanButton - Converter não Funciona Com Character

Bom Diaaa!

Tenho um Variavel na Minha entidade Que recebe um Character, ‘S’ ou ‘N’. Representando um Sim ou não.
Na minha View queria Usar o Componente do Prime “p:selectBooleanButton”, que recebe boolean.
Criei um Pequeno Converter, mas não está funcionando.
Recebo o Seguinte Erro.

A View:[code]<p:column headerText="Cliente Backup"
style=“width: 300px; text-align: center;”>

					<p:selectBooleanButton styleClass="camposDesabilitados"
					value="#{cliente.backup}" onLabel="Sim" offLabel="Não" onIcon="ui-icon-check"
					offIcon="ui-icon-close" disabled="true" converter="booleanConverter"/>
					
				</p:column>[/code]

o Converter:[code]package br.com.autocom.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

@FacesConverter(“booleanConverter”)
public class BooleanConverter implements Converter {

@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {

	if (value.equals("S")) {
		return true;
	}else{
		return false;
	}
	
}
	

@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
	
	if ((Boolean) value) {
		return "S";
	}else{
		return "N";
	}
}

}
[/code]

Utilizando a Versão 3.5 do Primefaces!

Quem Puder me ajudar! :wink:

Provavelmente o campo do seu selectonemenu value="#{cliente.backup}" está sendo mapeado para Character, e o método do seu converter (getAsObject) está retornando um Boolean.

No seu caso creio que seja desnecessário o Converter, já que o seu selectonemenu não é uma Entidade. Tente usar desta forma.

<p:selectOneMenu style="width:300px;" value="#{cliente.backup}>
      <f:selectItem itemValue="S" itemLabel="Sim"/>
      <f:selectItem itemValue="N" itemLabel="Não"/>
</p:selectOneMenu>

[quote=rockcentauro]Provavelmente o campo do seu selectonemenu value="#{cliente.backup}" está sendo mapeado para Character, e o método do seu converter (getAsObject) está retornando um Boolean.

No seu caso creio que seja desnecessário o Converter, já que o seu selectonemenu não é uma Entidade. Tente usar desta forma.

<p:selectOneMenu style="width:300px;" value="#{cliente.backup}> <f:selectItem itemValue="S" itemLabel="Sim"/> <f:selectItem itemValue="N" itemLabel="Não"/> </p:selectOneMenu> [/quote]

Acho que o correto seria:

<f:selectItem itemValue="#{true}" itemLabel="S"/> <f:selectItem itemValue="#{false}" itemLabel="N"/>

Obrigado Pelas Repostas!

E o certo é esse mesmo:<p:selectOneMenu style="width:300px;" value="#{cliente.backup}> <f:selectItem itemValue="S" itemLabel="Sim"/> <f:selectItem itemValue="N" itemLabel="Não"/> </p:selectOneMenu>

Mas essa Não era minha Duvida!

O selectOneMenu eu já utilizava.

Queria testar e descobrir o porque de não funcionar com o selectBooleanButton.
Afinal se tem a função de converter, tem de aceitar!