Calendar - I18n
indian9 Apr 18, 2010 1:07 PMHi,
I am looking ways to internationalize RichFaces calendar. documentation states that labels of the calendar can be changed using as described below.
"
The <rich:calendar> component provides the possibility to use internationalization method to redefine and localize the labels. You could use application resource bundle and define
RICH_CALENDAR_APPLY_LABEL , RICH_CALENDAR_TODAY_LABEL, RICH_CALENDAR_CLOSE_LABEL, RICH_CALENDAR_OK_LABEL , RICH_CALENDAR_CLEAN_LABEL, RICH_CALENDAR_CANCEL_LABEL there." For the content of calendar to be rplaced RichFaces defines "dataModel". I have the corresponding classes implemented. CalendarDataModelImpl and CalendarDataModelItemImpl. I see that respective implementations are getting called in debugging mode. What I am not seeing is the the days I have returned from implelmentations aren't been reflected in UI. Can some one please help? I am pasting the class implentations below. package ui.models; import java.text.DateFormat; //import javax.faces.application.FacesMessage; import org.jboss.seam.annotations.Name; import com.ibm.icu.util.Calendar; @Name("calendarDataModel") /* (non-Javadoc) return items; protected CalendarDataModelItem createDataModelItem(Date date) { /* (non-Javadoc) package ui.models; import org.richfaces.model.CalendarDataModelItem; public CalendarDataModelItem, java.io.Serializable { /** */ = 1L; ; ; ; ; ; /* (non-Javadoc) * @see org.richfaces.component.CalendarDataModelItem#getData() */ Object getData() { ; } /* (non-Javadoc) * @see org.richfaces.component.CalendarDataModelItem#getStyleClass() */ String getStyleClass() { ; } /* (non-Javadoc) * @see org.richfaces.component.CalendarDataModelItem#getToolTip() */ Object getToolTip() { ; } /* (non-Javadoc) * @see org.richfaces.component.CalendarDataModelItem#hasToolTip() */ hasToolTip() { ; } /* (non-Javadoc) * @see org.richfaces.component.CalendarDataModelItem#isEnabled() */ isEnabled() { ; } /** set */ setData(Object data) { = data; } /** set */ setStyleClass(String styleClass) { = styleClass; } /** set */ setToolTip(Object toolTip) { = toolTip; } /** set */ enabled) { = enabled; } getDay() { ; } day) { = day;
//import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
//import java.util.Random;
//import javax.faces.validator.ValidatorException;
import org.richfaces.model.CalendarDataModel;
import org.richfaces.model.CalendarDataModelItem;
import org.springframework.context.annotation.Scope;
import com.ibm.icu.util.ULocale;
@Scope("session")
public class CalendarDataModelImpl implements CalendarDataModel, java.io.Serializable
{
/**
*
*/
private static final long serialVersionUID = 1L;
* @see org.richfaces.component.CalendarDataModel#getData(java.util.Date[])
*/
public CalendarDataModelItem[] getData(Date[] dateArray) {
for(int j=0;j<dateArray.length;j++)
{
System.out.println(dateArray[j].toString());
}
if (dateArray == null) {
return null;
}
CalendarDataModelItem[] items = new CalendarDataModelItem[dateArray.length];
for (int i = 0; i < dateArray.length; i++) {
items[i] = createDataModelItem(dateArray[i]);
}
}
Calendar cal = Calendar.getInstance(new ULocale("@calendar=islamic"));
cal.setTime(date);
CalendarDataModelItemImpl item = new CalendarDataModelItemImpl();
Map<String, String> data = new HashMap<String, String>();
DateFormat enFormatter = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.ENGLISH);
DateFormat frFormatter = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.FRENCH);
DateFormat deFormatter = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.GERMAN);
data.put("enLabel", enFormatter.format(date));
data.put("frLabel", frFormatter.format(date));
data.put("deLabel", deFormatter.format(date));
item.setData(data);
if (date != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int d = calendar.get(Calendar.DATE);
if (d == 7 || d == 15) {
item.setEnabled(false);
} else item.setEnabled(true);
}
System.out.println(item.getData() + " " + item.isEnabled());
item.setDay(cal.get(Calendar.DAY_OF_MONTH));
item.setStyleClass("reh-hol");
return item;
}
* @see org.richfaces.component.CalendarDataModel#getToolTip(java.util.Date)
*/
public Object getToolTip(Date date) {
return null;
}
}