[ 
https://issues.apache.org/jira/browse/MYFACES-1845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Concini reopened MYFACES-1845:
--------------------------------------


I had previously tried applying the fix from 1836 to my environment and it did 
not resolve this issue.  These would be appear to be similar issues but not 
exactly the same.  

The change in 1836 seems to address the case where type="date" is being ignored 
in certain circumstances.  This issue is for when type is not specified.  

The code in 1836 as far as I can tell does not address this.  In 1836, any time 
type is null or not valid its setting to DEFAULT_TYPE (which is always date).  
What it should be doing is checking to see if dateStyle and/or timeStyle are 
set as per the spec in order to determine the appropriate default instead of 
using a blanket default.  

> Only date is returned wihen both dateStyle and timeStyle are set without 
> specifying type
> ----------------------------------------------------------------------------------------
>
>                 Key: MYFACES-1845
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1845
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>         Environment: MyFaces 1.2.2
>            Reporter: Michael Concini
>            Assignee: Leonardo Uribe
>
> Given the following snippet, MyFaces should be rendering both the date and 
> time but only renders the date.
> <h:outputText value="#{MyBean.someTime}">
>       <f:convertDateTime dateStyle="full" timeStyle="full" />
> </h:outputText>
> According to the spec, if type is not specified:
> ■ if dateStyle is set and timeStyle is not, type defaults to date
> ■ if timeStyle is set and dateStyle is not, type defaults to time
> ■ if both dateStyle and timeStyle are set, type defaults to both
> The 1.2.2 implemtation always returns date.  I believe the problem is in the 
> getType method of javax.faces.convert.DateTimeConverter.
> Currently, anytime _type is null, its returning TYPE_DATE.  
>         return _type != null ? _type : TYPE_DATE;
> What might better comply with the spec would be to do something like this:
>         if(_type == null){
>               if(_dateStyle != null && _timeStyle != null){
>                       return TYPE_BOTH;
>               }else if(_timeStyle != null){
>                       return TYPE_TIME;
>               }else {
>                       return TYPE_DATE;
>               }               
>       }
>         return _type;
> I've tested this code locally and it does fix the above behavior.  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to