How to refresh the Calendar

Hi guys, how do you force to refresh the calendar each time you add an event? mine always end up to double all the previous entry.


CALENDAR


public final void calendarEvents(){
        Connection conn = getConnection.connection();
        try {
            Integer i = 0;
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM calendar_events");
            while(rs.next()){
                GregorianCalendar start = new GregorianCalendar();
                GregorianCalendar end = new GregorianCalendar();
                Date startEvent = null;                
                Date endEvent = null;
                try {
                    startEvent = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH).parse(rs.getString("startDate"));
                    endEvent = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.ENGLISH).parse(rs.getString("endDate"));
                } catch (ParseException ex) {
                    Logger.getLogger(CalendarModule.class.getName()).log(Level.SEVERE, null, ex);
                }
                start.setTime(startEvent);                
                end.setTime(endEvent);
                cal.addEvent(new BasicEvent(
                        rs.getString("caption"), 
                        rs.getString("description"),
                        rs.getString("color"),
                        start.getTime(), end.getTime())); 
            }
        } catch (SQLException ex) {
            Logger.getLogger(CalendarModule.class.getName()).log(Level.SEVERE, null, ex);
        } 
    }

It maybe too late after 2 years.
calendar.markAsDirty();
in Vaadin 7.x working for me.