You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2004/12/09 13:18:44 UTC
cvs commit: incubator-myfaces/src/share/org/apache/myfaces/renderkit RendererUtils.java
mmarinschek 2004/12/09 04:18:44
Modified: src/components/org/apache/myfaces/custom/calendar
HtmlCalendarRenderer.java
src/share/org/apache/myfaces/renderkit RendererUtils.java
Log:
changes in Calendar-Renderer to check for submitted-value first
Revision Changes Path
1.14 +5 -2 incubator-myfaces/src/components/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java
Index: HtmlCalendarRenderer.java
===================================================================
RCS file: /home/cvs/incubator-myfaces/src/components/org/apache/myfaces/custom/calendar/HtmlCalendarRenderer.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- HtmlCalendarRenderer.java 9 Dec 2004 05:13:02 -0000 1.13
+++ HtmlCalendarRenderer.java 9 Dec 2004 12:18:43 -0000 1.14
@@ -46,6 +46,9 @@
/**
* $Log$
+ * Revision 1.14 2004/12/09 12:18:43 mmarinschek
+ * changes in Calendar-Renderer to check for submitted-value first
+ *
* Revision 1.13 2004/12/09 05:13:02 svieujot
* Mark potential bugs where we use the backing bean's value, and do not check for submitted value
*
@@ -107,7 +110,7 @@
Locale currentLocale = facesContext.getViewRoot().getLocale();
- Date value = (Date) inputCalendar.getValue(); // TODO : Check if restores submitted value.
+ Date value = RendererUtils.getDateValue(inputCalendar);
Calendar timeKeeper = Calendar.getInstance(currentLocale);
timeKeeper.setTime(value!=null?value:new Date());
1.15 +40 -2 incubator-myfaces/src/share/org/apache/myfaces/renderkit/RendererUtils.java
Index: RendererUtils.java
===================================================================
RCS file: /home/cvs/incubator-myfaces/src/share/org/apache/myfaces/renderkit/RendererUtils.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- RendererUtils.java 13 Oct 2004 11:51:01 -0000 1.14
+++ RendererUtils.java 9 Dec 2004 12:18:43 -0000 1.15
@@ -36,6 +36,9 @@
* @author Manfred Geiler (latest modification by $Author$)
* @version $Revision$ $Date$
* $Log$
+ * Revision 1.15 2004/12/09 12:18:43 mmarinschek
+ * changes in Calendar-Renderer to check for submitted-value first
+ *
* Revision 1.14 2004/10/13 11:51:01 matze
* renamed packages to org.apache
*
@@ -72,6 +75,41 @@
private static final Log log = LogFactory.getLog(RendererUtils.class);
public static final String SELECT_ITEM_LIST_ATTR = RendererUtils.class.getName() + ".LIST";
+
+ public static Date getDateValue(UIComponent component)
+ {
+ if (!(component instanceof ValueHolder))
+ {
+ throw new IllegalArgumentException("Component is not a ValueHolder");
+ }
+
+ if (component instanceof EditableValueHolder)
+ {
+ Object submittedValue = ((EditableValueHolder)component).getSubmittedValue();
+ if (submittedValue != null)
+ {
+ if (submittedValue instanceof Date)
+ {
+ return (Date)submittedValue;
+ }
+ else
+ {
+ throw new IllegalArgumentException("Expected submitted value of type Date");
+ }
+ }
+ }
+
+ Object value = ((ValueHolder)component).getValue();
+
+ if (value==null || value instanceof Date)
+ {
+ return (Date) value;
+ }
+ else
+ {
+ throw new IllegalArgumentException("Expected submitted value of type Date");
+ }
+ }
public static String getStringValue(FacesContext facesContext,