You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by sc...@apache.org on 2005/04/08 04:02:26 UTC

cvs commit: incubator-myfaces/src/components/org/apache/myfaces/custom/calendar HtmlCalendarRenderer.java

schof       2005/04/07 19:02:26

  Modified:    src/components/org/apache/myfaces/custom/calendar
                        HtmlCalendarRenderer.java
  Log:
  Fixes MYFACES-167 (Thanks to David Heffelfinger for reporting the bug and supplying the patch.)
  
  Revision  Changes    Path
  1.21      +26 -4     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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- HtmlCalendarRenderer.java	11 Feb 2005 14:11:04 -0000	1.20
  +++ HtmlCalendarRenderer.java	8 Apr 2005 02:02:26 -0000	1.21
  @@ -46,6 +46,9 @@
   
   /**
    * $Log$
  + * Revision 1.21  2005/04/08 02:02:26  schof
  + * Fixes MYFACES-167 (Thanks to David Heffelfinger for reporting the bug and supplying the patch.)
  + *
    * Revision 1.20  2005/02/11 14:11:04  mmarinschek
    * fixed jira 97
    *
  @@ -128,7 +131,18 @@
   
           Locale currentLocale = facesContext.getViewRoot().getLocale();
   
  -        Date value = RendererUtils.getDateValue(inputCalendar);
  +        
  +        Date value;
  +        
  +        try
  +        {
  +            value = RendererUtils.getDateValue(inputCalendar);
  +        }
  +        catch (IllegalArgumentException illegalArgumentException)
  +        {
  +            value = null;
  +        }
  +       
   
           Calendar timeKeeper = Calendar.getInstance(currentLocale);
           timeKeeper.setTime(value!=null?value:new Date());
  @@ -171,8 +185,16 @@
               RendererUtils.copyHtmlInputTextAttributes(inputCalendar, inputText);
   
               inputText.setTransient(true);
  -            inputText.setValue(getConverter(inputCalendar).getAsString(
  -                    facesContext,inputCalendar,value));
  +            
  +            if (value == null && inputCalendar.getSubmittedValue() != null)
  +            {
  +                inputText.setValue(inputCalendar.getSubmittedValue());
  +            }
  +            else
  +            {
  +                inputText.setValue(getConverter(inputCalendar).getAsString(
  +                        facesContext,inputCalendar,value));
  +            }
               inputText.setEnabledOnUserRole(inputCalendar.getEnabledOnUserRole());
               inputText.setVisibleOnUserRole(inputCalendar.getVisibleOnUserRole());