depois de implementar o CalendarConverter não consigo mais gravar um registro... não retorna mensagem de erro, qdo clico em gravar aparecem só selects do Hibernate
package br.com.casadocodigo.loja.converters;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.DateTimeConverter;
import javax.faces.convert.FacesConverter;
//Quando a informação está na tela, ela é uma String, nesse ponto o JSF chama o método getAsString()
//do nosso Converter. Quando está no ManagedBean é um Objeto que queremos, desta forma o JSF chama o método getAsObject().
@FacesConverter(forClass = Calendar.class) // conversor JSF, e qual tipo de dados converterá
public class CalendarConverter implements Converter {// implementa classe q contêm os métodos de conversão
private DateTimeConverter converter = new DateTimeConverter();
public CalendarConverter() {
converter.setPattern("dd/MM/yyyy");
converter.setTimeZone(TimeZone.getTimeZone("America/Sao_Paulo"));
}
@Override
public Object getAsObject(FacesContext context, UIComponent component, String dataTexto) {
Date data = (Date) converter.getAsObject(context, component, dataTexto);
Calendar calendar = Calendar.getInstance();
calendar.setTime(data);
return calendar;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object dataObject) {
if (dataObject == null) {
return null;
}
Calendar calendar = (Calendar) dataObject;
String asString = converter.getAsString(context, component, calendar.getTime());
return asString;
}
}