Boa tarde, terminei o curso da Caelum e agora estava tentando fazer os exercícios opcionais a apostila é a FJ-26, ate então estava indo bem, mas o problema acontece no exercicio 19.16 para converter valores.
Segue a classe que é responsável por converter os valores.
import java.util.regex.Pattern;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
public class CPFConverter implements Converter{
private static Pattern pattern = Pattern.compile("[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}-[0-9]{2}");
public Object getAsObject(FacesContext fc, UIComponent comp, String valor) {
if(pattern.matcher(valor).find()){
CPF cpf = new CPF();
cpf.setCpf(valor);
return cpf;
}
throw new ConverterException(new FacesMessage("Não foi possível converter " + valor));
}
public String getAsString(FacesContext fc, UIComponent comp, Object cpf) {
return ((CPF)cpf).getCpf();
}
}
coloquei no mode debug do eclipse e a chamada entra no metodo public Object getAsObject o problema é que ele não consegue formatar o texto, um exemplo 22233344455 e ele fala que não consegue formatar para 222.333.444 - 55
Alguem poderia iluminar o meu caminho?
Abraço.