You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2009/06/15 01:49:01 UTC
svn commit: r784635 -
/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java
Author: lu4242
Date: Sun Jun 14 23:49:00 2009
New Revision: 784635
URL: http://svn.apache.org/viewvc?rev=784635&view=rev
Log:
TOMAHAWK-3 inputCalendar with CalendarConverter loses value data
Modified:
myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java
Modified: myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java?rev=784635&r1=784634&r2=784635&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java (original)
+++ myfaces/tomahawk/trunk/core/src/main/java/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java Sun Jun 14 23:49:00 2009
@@ -130,7 +130,32 @@
}
else
{
- value = RendererUtils.getDateValue(inputCalendar);
+ //value = RendererUtils.getDateValue(inputCalendar);
+ Object objectValue = RendererUtils.getObjectValue(component);
+ if (objectValue == null || objectValue instanceof Date)
+ {
+ value = (Date) objectValue;
+ }
+ else
+ {
+ //Use Converter.getAsString and convert to date using
+ String stringValue = converter.getAsString(facesContext, component, objectValue);
+
+ if(stringValue ==null || stringValue.trim().length()==0 ||stringValue.equals(getHelperString(inputCalendar)))
+ {
+ value = null;
+ }
+ else
+ {
+ String formatStr = CalendarDateTimeConverter.createJSPopupFormat(facesContext, inputCalendar.getPopupDateFormat());
+ Calendar timeKeeper = Calendar.getInstance(currentLocale);
+ int firstDayOfWeek = timeKeeper.getFirstDayOfWeek() - 1;
+ org.apache.myfaces.dateformat.DateFormatSymbols symbols = new org.apache.myfaces.dateformat.DateFormatSymbols(currentLocale);
+
+ SimpleDateFormatter dateFormat = new SimpleDateFormatter(formatStr, symbols, firstDayOfWeek);
+ value = dateFormat.parse(stringValue);
+ }
+ }
}
}
catch (IllegalArgumentException illegalArgumentException)