Erro Conversão em RichComboBox

Pessoal estou de volta!

Bem, antes de postar aqui procurei em inumeros foruns e livros.

Me ajudem, por favor!

Estou com um problema no meu rich:combobox, segue meu .jsp


							<rich:comboBox id="teste" converter="br.iteratorsystems.cps.beans.TesteConverter" enableManualInput="false" value="#{administrationBean.testeObj}" styleClass="letrasDefault">
								<f:selectItems value="#{administrationBean.preencheComboTeste}"/>							
							</rich:comboBox>

segue uma parte do meu bean, onde carrega o combo

	public List<SelectItem> getPreencheComboTeste() {
		Teste teste = new Teste();
		Teste teste2 = new Teste();
		
List<SelectItem> lista = new ArrayList<SelectItem>();
		teste.setCodigo(1000);
		teste2.setCodigo(2000);
		teste.setNome("Xi Marquinho");
		teste2.setNome("Deu Certo");
		
                lista.add(new SelectItem(teste,String.valueOf(teste.getCodigo())));
		lista.add(new SelectItem(teste2,String.valueOf(teste2.getCodigo())));
		
                return lista;
	}

obs: minha classe Teste esta com equals e hashCode

e minha classe converter

package br.iteratorsystems.cps.beans;

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

public class TesteConverter implements Converter{
	
	public final static String CONVERTER_ID = "br.iteratorsystems.cps.beans.AdministrationBean";

	public Teste getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
		Teste t = null;
		try{
			
			if(arg2 == null) {
				return null;
			}
			Integer.parseInt(arg2);
			t = new Teste();
			t.setNome(arg2);
			
		}catch (Exception e) {
			e.printStackTrace();
		}
		return t;
	}

	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
		
		if(arg2 == null) {
			return null;
		}
		
		if(arg2 instanceof Teste) {
			return ((Teste) arg2).getNome();
		}
		
		return arg2.toString();
	}
}

O problema é que quando faço o parse para Integer, não vem o código da classe teste, e sempre o nome!!

Alguem pode me ajudar? nao sei onde estou errando…

abraços…!

Alguem?

Cara, estou com muito sono para pensar e responder, olha o meu código do converter que funciona, e verifica se o converter está registrado no faces-config.xml.

[code]public class TurmaConverter implements Converter {

public Object getAsObject(FacesContext ctx, UIComponent component, String value) {  
    if (value != null) {  
        return this.getAttributesFrom(component).get(value);  
    }  
    return null;  
}  

public String getAsString(FacesContext ctx, UIComponent component, Object value) {  

    if (value != null  
            && !"".equals(value)) {  

    	Turma entity = (Turma) value;  

        this.addAttribute(component, entity);  

        Long codigo = entity.getCodigo();  
        if (codigo != null) {  
            return String.valueOf(codigo);  
        }  
    }  

    return (String) value;  
}  

protected void addAttribute(UIComponent component, Turma o) {  
    String key = o.getCodigo().toString(); 
    this.getAttributesFrom(component).put(key, o);  
}  

protected Map<String, Object> getAttributesFrom(UIComponent component) {  
    return component.getAttributes();  
}  

[/code]

andresmafra e teu converte cara !

Cara, pra falar a verdade eu desisti disso por causa do tempo para desenvolver aqui, e então utilizei o

<h:selectOneMenu/>

Abraços!

andresmafra hahahh Boa escolha !