You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2009/04/09 09:29:27 UTC
svn commit: r763542 -
/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Author: jdonnerstag
Date: Thu Apr 9 07:29:27 2009
New Revision: 763542
URL: http://svn.apache.org/viewvc?rev=763542&view=rev
Log:
fixed WICKET-2218 DatePicker pick up wrong word when we use LOCALE_WEEKDAYS with 1char in chinese.
Modified:
wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Modified: wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=763542&r1=763541&r2=763542&view=diff
==============================================================================
--- wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java (original)
+++ wicket/trunk/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java Thu Apr 9 07:29:27 2009
@@ -548,23 +548,30 @@
dfSymbols = new DateFormatSymbols(getLocale());
}
- if (Locale.SIMPLIFIED_CHINESE.equals(getLocale()))
- {
- dfSymbols.setShortWeekdays(new String[] { "", "\u65E5", "\u4E00", "\u4E8C", "\u4E09",
- "\u56DB", "\u4E94", "\u516D" });
- }
setWidgetProperty(widgetProperties, "MONTHS_SHORT", filterEmpty(dfSymbols.getShortMonths()));
setWidgetProperty(widgetProperties, "MONTHS_LONG", filterEmpty(dfSymbols.getMonths()));
- setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR", filterEmpty(substring(dfSymbols
- .getShortWeekdays(), 1)));
- setWidgetProperty(widgetProperties, "WEEKDAYS_SHORT", filterEmpty(substring(dfSymbols
- .getShortWeekdays(), 2)));
setWidgetProperty(widgetProperties, "WEEKDAYS_MEDIUM", filterEmpty(dfSymbols
.getShortWeekdays()));
setWidgetProperty(widgetProperties, "WEEKDAYS_LONG", filterEmpty(dfSymbols.getWeekdays()));
widgetProperties.put("START_WEEKDAY", new Integer(Calendar.getInstance(getLocale())
.getFirstDayOfWeek() - 1));
+
+ if (Locale.SIMPLIFIED_CHINESE.equals(getLocale()) ||
+ Locale.TRADITIONAL_CHINESE.equals(getLocale()))
+ {
+ setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR", filterEmpty(substring(dfSymbols
+ .getShortWeekdays(), 2, 1)));
+ widgetProperties.put("WEEKDAYS_SHORT", filterEmpty(substring(dfSymbols
+ .getShortWeekdays(), 2, 1)));
+ }
+ else
+ {
+ setWidgetProperty(widgetProperties, "WEEKDAYS_1CHAR", filterEmpty(substring(dfSymbols
+ .getShortWeekdays(), 0, 1)));
+ setWidgetProperty(widgetProperties, "WEEKDAYS_SHORT", filterEmpty(substring(dfSymbols
+ .getShortWeekdays(), 0, 2)));
+ }
}
/**
@@ -590,7 +597,24 @@
* size of substring for each element to copy
* @return copy of the array filled with substrings.
*/
- protected final String[] substring(String[] array, int len)
+ protected final String[] substring(final String[] array, final int len)
+ {
+ return substring(array, 0, len);
+ }
+
+ /**
+ * Makes a copy of the provided array and for each element copy the substring 0..len to the new
+ * array
+ *
+ * @param array
+ * array to copy from
+ * @param start
+ * start position of the substring
+ * @param len
+ * size of substring for each element to copy
+ * @return copy of the array filled with substrings.
+ */
+ protected final String[] substring(final String[] array, final int start, final int len)
{
if (array != null)
{
@@ -600,9 +624,9 @@
String el = array[i];
if (el != null)
{
- if (el.length() > len)
+ if (el.length() > (start + len))
{
- copy[i] = el.substring(0, len);
+ copy[i] = el.substring(start, start + len);
}
else
{