Solução para o uso do componente Calendar do Primefaces no mode inline

Bom dia pessoa, estava passando com um problema com o componente Calendar do primefaces.

Tentava usar o componente no modo inline com data horas e minutos. Acontecia que ele sempre retornava um erro ({0} Ocorreu um erro na conversão).

Foi então que eu desativei o modo inline e a conversão funcionava perfeitamente, eu não sei explicar o motivo do erro mas vou postar aqui como eu resolvi este problema caso alguém esteja passando por isso…

A solução foi bem simples, bastou implementar meu próprio conversor e aplicar ao componente. Segue abaixo a implementação do mesmo. Caso alguém queira melhorar o código fique a vontade e poste de volta…

public class CalendarConverter implements Converter {
       
    private static Date dateTime = new Date();
    
    @Override
    public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
                
        Calendar calendar = Calendar.getInstance();
        
        if(string.length() >5){
                                                       
            calendar.setTime(dateTime);
            
            String[] split = string.split("/");
                                    
            calendar.set(Integer.valueOf(split[2]),
                    Integer.valueOf(split[1]),
                    Integer.valueOf(split[0]));
            
            dateTime.setTime(calendar.getTimeInMillis());
                                    
        }else{
                                
            calendar.setTime(dateTime);
            
            String[] split = string.split(":");
            
            calendar.set(Calendar.HOUR_OF_DAY, Integer.valueOf(split[0]));
            
            calendar.set(Calendar.MINUTE, Integer.valueOf(split[1]));
            
            dateTime.setTime(calendar.getTimeInMillis());
            
        }
        
        Date toReturn = new Date(calendar.getTimeInMillis());
        
        return toReturn;
        
    }//end method

    @Override
    public String getAsString(FacesContext fc, UIComponent uic, Object o) {
                        
        return o.toString();
        
    }//end method
    
}//end class

Componente


<p:calendar navigator="true" locale="br" pattern="dd/MM/yyyy HH:mm"
                                value="#{agendaFaces.agenda.dataHora}"
                                minMinute="0" maxMinute="0" converter="CalendarConverter" mode="inline">
                        <p:ajax event="dateSelect"></p:ajax>
                </p:calendar>